37#if (NTDDI_VERSION >= NTDDI_WS03)
38 #define EXPECTED_ACCESS (FILE_READ_ACCESS | FILE_WRITE_ACCESS)
40 #define EXPECTED_ACCESS FILE_ANY_ACCESS
43#if (NTDDI_VERSION >= NTDDI_WIN2K)
45#define IOCTL_MOUNTDEV_QUERY_UNIQUE_ID CTL_CODE(MOUNTDEVCONTROLTYPE, 0, METHOD_BUFFERED, FILE_ANY_ACCESS)
46#define IOCTL_MOUNTDEV_QUERY_SUGGESTED_LINK_NAME CTL_CODE(MOUNTDEVCONTROLTYPE, 3, METHOD_BUFFERED, FILE_ANY_ACCESS)
47#define IOCTL_MOUNTDEV_LINK_CREATED CTL_CODE(MOUNTDEVCONTROLTYPE, 4, METHOD_BUFFERED, EXPECTED_ACCESS)
48#define IOCTL_MOUNTDEV_LINK_DELETED CTL_CODE(MOUNTDEVCONTROLTYPE, 5, METHOD_BUFFERED, EXPECTED_ACCESS)
63#if (NTDDI_VERSION >= NTDDI_WINXP)
65#define IOCTL_MOUNTDEV_QUERY_STABLE_GUID CTL_CODE(MOUNTDEVCONTROLTYPE, 6, METHOD_BUFFERED, FILE_ANY_ACCESS)
75#define IOCTL_MOUNTDEV_UNIQUE_ID_CHANGE_NOTIFY CTL_CODE(MOUNTDEVCONTROLTYPE, 1, METHOD_BUFFERED, EXPECTED_ACCESS)
struct _MOUNTDEV_UNIQUE_ID MOUNTDEV_UNIQUE_ID
struct _MOUNTDEV_STABLE_GUID * PMOUNTDEV_STABLE_GUID
struct _MOUNTDEV_UNIQUE_ID_CHANGE_NOTIFY_OUTPUT MOUNTDEV_UNIQUE_ID_CHANGE_NOTIFY_OUTPUT
struct _MOUNTDEV_SUGGESTED_LINK_NAME * PMOUNTDEV_SUGGESTED_LINK_NAME
struct _MOUNTDEV_UNIQUE_ID_CHANGE_NOTIFY_OUTPUT * PMOUNTDEV_UNIQUE_ID_CHANGE_NOTIFY_OUTPUT
struct _MOUNTDEV_SUGGESTED_LINK_NAME MOUNTDEV_SUGGESTED_LINK_NAME
struct _MOUNTDEV_UNIQUE_ID * PMOUNTDEV_UNIQUE_ID
struct _MOUNTDEV_STABLE_GUID MOUNTDEV_STABLE_GUID
BOOLEAN UseOnlyIfThereAreNoOtherLinks