From 6d1b9e95db0dc10bf775a1d2c6b9e7dc17a4c448 Mon Sep 17 00:00:00 2001 From: Bill Zissimopoulos Date: Thu, 8 Dec 2016 09:18:09 -0800 Subject: [PATCH] inc: winfsp: add comment regarding limitations of ReadDirectory/Offset --- inc/winfsp/winfsp.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/inc/winfsp/winfsp.h b/inc/winfsp/winfsp.h index 944c0174..c5e06a9e 100644 --- a/inc/winfsp/winfsp.h +++ b/inc/winfsp/winfsp.h @@ -622,6 +622,16 @@ typedef struct _FSP_FILE_SYSTEM_INTERFACE * special value 0 indicates that the read should start from the first entries. The first * two entries returned by ReadDirectory should always be the "." and ".." entries, * except for the root directory which does not have these entries. + * + * This parameter is used by the WinFsp FSD to break directory listings into chunks. + * In this case all 64-bits of the Offset are valid. In some cases the Windows kernel + * (NTOS) may also use this parameter. In this case only the lower 32-bits of this + * parameter will be valid. This is an unfortunate limitation of Windows (for more + * information see the documentation for IRP_MJ_DIRECTORY_CONTROL and the flag + * SL_INDEX_SPECIFIED). + * + * In practice this means that you should only rely on the lower 32-bits of this value + * to be valid. * @param Length * Length of data to read. * @param Pattern