Hans Leidekker : ntdll: Add a stub implementation of FSCTL_GET_RETRIEVAL_POINTERS.

Alexandre Julliard julliard at winehq.org
Thu Dec 2 16:30:55 CST 2010


Module: wine
Branch: stable
Commit: f668954529f076ca55f3f01e6665de54880a285f
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=f668954529f076ca55f3f01e6665de54880a285f

Author: Hans Leidekker <hans at codeweavers.com>
Date:   Sat Nov 20 15:48:02 2010 +0100

ntdll: Add a stub implementation of FSCTL_GET_RETRIEVAL_POINTERS.
(cherry picked from commit 63c19ab495ae31b83ad5d86a8fe9e54a09735c29)

---

 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 0a6ee55..b09383f 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 */
 
 /*




More information about the wine-cvs mailing list