Module: wine Branch: master Commit: 63c19ab495ae31b83ad5d86a8fe9e54a09735c29 URL: http://source.winehq.org/git/wine.git/?a=commit;h=63c19ab495ae31b83ad5d86a8f...
Author: Hans Leidekker hans@codeweavers.com Date: Sat Nov 20 15:48:02 2010 +0100
ntdll: Add a stub implementation of FSCTL_GET_RETRIEVAL_POINTERS.
---
dlls/ntdll/file.c | 22 ++++++++++++++++++++++ include/winioctl.h | 9 +++++++++ 2 files changed, 31 insertions(+), 0 deletions(-)
diff --git a/dlls/ntdll/file.c b/dlls/ntdll/file.c index 3dc5358..68bed0e 100644 --- a/dlls/ntdll/file.c +++ b/dlls/ntdll/file.c @@ -1495,6 +1495,28 @@ NTSTATUS WINAPI NtFsControlFile(HANDLE handle, HANDLE event, PIO_APC_ROUTINE apc status = STATUS_SUCCESS; break;
+ case FSCTL_GET_RETRIEVAL_POINTERS: + { + RETRIEVAL_POINTERS_BUFFER *buffer = (RETRIEVAL_POINTERS_BUFFER *)out_buffer; + + FIXME("stub: FSCTL_GET_RETRIEVAL_POINTERS\n"); + + if (out_size >= sizeof(RETRIEVAL_POINTERS_BUFFER)) + { + buffer->ExtentCount = 1; + buffer->StartingVcn.QuadPart = 1; + buffer->Extents[0].NextVcn.QuadPart = 0; + buffer->Extents[0].Lcn.QuadPart = 0; + io->Information = sizeof(RETRIEVAL_POINTERS_BUFFER); + status = STATUS_SUCCESS; + } + else + { + io->Information = 0; + status = STATUS_BUFFER_TOO_SMALL; + } + break; + } case FSCTL_PIPE_LISTEN: case FSCTL_PIPE_WAIT: default: diff --git a/include/winioctl.h b/include/winioctl.h index 8765cdf..d1c3376 100644 --- a/include/winioctl.h +++ b/include/winioctl.h @@ -376,6 +376,15 @@ typedef struct _VOLUME_DISK_EXTENTS { DISK_EXTENT Extents[1]; } VOLUME_DISK_EXTENTS;
+typedef struct RETRIEVAL_POINTERS_BUFFER { + DWORD ExtentCount; + LARGE_INTEGER StartingVcn; + struct { + LARGE_INTEGER NextVcn; + LARGE_INTEGER Lcn; + } Extents[1]; +} RETRIEVAL_POINTERS_BUFFER, *PRETRIEVAL_POINTERS_BUFFER; + /* End: _WIN32_WINNT >= 0x0400 */
/*