- if (!DeviceIoControl(h, FSCTL_GET_REPARSE_POINT,
- NULL, 0, &rpbuf, REPARSE_POINT_MAX_SIZE,
- &bytes_returned, NULL))
- {
- win32_error(GetLastError(), L"\"%ls\": Can't get reparse point",
+ status = winnt_fsctl(h, FSCTL_GET_REPARSE_POINT,
+ NULL, 0, &rpbuf, sizeof(rpbuf), &len);
+ if (!NT_SUCCESS(status)) {
+ winnt_error(status, L"\"%ls\": Can't get reparse point",