-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Hi,
On 06/08/2015 13:39, Piotr Caban wrote:
Hi,
On 08/05/15 07:45, YongHao Hu wrote:
+typedef struct _REPARSE_MOUNTPOINT_DATA_BUFFER +{ + DWORD ReparseTag; + DWORD ReparseDataLength; + WORD Reserved; + WORD ReparseTargetLength; + WORD ReparseTargetMaximumLength; + WORD Reserved1; + WCHAR ReparseTarget[1]; +} REPARSE_MOUNTPOINT_DATA_BUFFER, *PREPARSE_MOUNTPOINT_DATA_BUFFER;
This structure is not defined in native ntifs.h. I don't know if it's acceptable to add it in wine.
I'd say, no, it's not. For the sole reason that the structure defined upper is wrong and doesn't match reality. Offsets are wrong and data are missing.
Reading the comment[1], you wrote on top of the definition in the source file you provided, I wonder: What kind of undocumented things are you referring to? FSCTL_SET_REPARSE_POINT is documented and taking either REPARSE_DATA_BUFFER or REPARSE_GUID_DATA_BUFFER. Would you have details about the missing structure? Would you have test cases? Real applications that use it?
Furthermore, it looks highly suspicious even if undocumented, as a mount point is a standard reparse point in Windows, provided by Microsoft (IO_REPARSE_TAG_MOUNT_POINT), and thus, REPARSE_DATA_BUFFER is expected.
[1]: /* Undocumented FSCTL_SET_REPARSE_POINT structure definition */
Cheers, - -- Pierre Schweitzer <pierre at reactos.org> System & Network Administrator Senior Kernel Developer ReactOS Deutschland e.V.