6 #if (NTDDI_VERSION >= NTDDI_WIN2K)
8 #define IOCTL_MOUNTDEV_QUERY_UNIQUE_ID CTL_CODE(MOUNTDEVCONTROLTYPE, 0, METHOD_BUFFERED, FILE_ANY_ACCESS)
9 #define IOCTL_MOUNTDEV_QUERY_SUGGESTED_LINK_NAME CTL_CODE(MOUNTDEVCONTROLTYPE, 3, METHOD_BUFFERED, FILE_ANY_ACCESS)
10 #define IOCTL_MOUNTDEV_LINK_CREATED CTL_CODE(MOUNTDEVCONTROLTYPE, 4, METHOD_BUFFERED, FILE_ANY_ACCESS)
11 #define IOCTL_MOUNTDEV_LINK_DELETED CTL_CODE(MOUNTDEVCONTROLTYPE, 5, METHOD_BUFFERED, FILE_ANY_ACCESS)
13 typedef struct _MOUNTDEV_UNIQUE_ID
{
14 USHORT UniqueIdLength
;
16 } MOUNTDEV_UNIQUE_ID
, *PMOUNTDEV_UNIQUE_ID
;
18 typedef struct _MOUNTDEV_SUGGESTED_LINK_NAME
{
19 BOOLEAN UseOnlyIfThereAreNoOtherLinks
;
22 } MOUNTDEV_SUGGESTED_LINK_NAME
, *PMOUNTDEV_SUGGESTED_LINK_NAME
;
24 #endif /* (NTDDI_VERSION >= NTDDI_WIN2K) */
26 #if (NTDDI_VERSION >= NTDDI_WINXP)
28 #define IOCTL_MOUNTDEV_QUERY_STABLE_GUID CTL_CODE(MOUNTDEVCONTROLTYPE, 6, METHOD_BUFFERED, FILE_ANY_ACCESS)
30 typedef struct _MOUNTDEV_STABLE_GUID
{
32 } MOUNTDEV_STABLE_GUID
, *PMOUNTDEV_STABLE_GUID
;
34 #endif /* (NTDDI_VERSION >= NTDDI_WINXP) */
36 /* FIXME : These definitions don't exist in the official header : */
37 #define IOCTL_MOUNTDEV_UNIQUE_ID_CHANGE_NOTIFY CTL_CODE(MOUNTDEVCONTROLTYPE, 1, METHOD_BUFFERED, FILE_ANY_ACCESS)
38 typedef struct _MOUNTDEV_UNIQUE_ID_CHANGE_NOTIFY_OUTPUT
{
40 USHORT OldUniqueIdOffset
;
41 USHORT OldUniqueIdLength
;
42 USHORT NewUniqueIdOffset
;
43 USHORT NewUniqueIdLength
;
44 } MOUNTDEV_UNIQUE_ID_CHANGE_NOTIFY_OUTPUT
, *PMOUNTDEV_UNIQUE_ID_CHANGE_NOTIFY_OUTPUT
;
47 #endif /* _MOUNTDEV_ */