Home | History | Annotate | Download | only in ddk
      1 #ifndef _MOUNTDEV_
      2 #define _MOUNTDEV_
      3 
      4 #include <mountmgr.h>
      5 
      6 #if (NTDDI_VERSION >= NTDDI_WIN2K)
      7 
      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)
     12 
     13 typedef struct _MOUNTDEV_UNIQUE_ID {
     14   USHORT UniqueIdLength;
     15   UCHAR UniqueId[1];
     16 } MOUNTDEV_UNIQUE_ID, *PMOUNTDEV_UNIQUE_ID;
     17 
     18 typedef struct _MOUNTDEV_SUGGESTED_LINK_NAME {
     19   BOOLEAN UseOnlyIfThereAreNoOtherLinks;
     20   USHORT NameLength;
     21   WCHAR Name[1];
     22 } MOUNTDEV_SUGGESTED_LINK_NAME, *PMOUNTDEV_SUGGESTED_LINK_NAME;
     23 
     24 #endif /* (NTDDI_VERSION >= NTDDI_WIN2K) */
     25 
     26 #if (NTDDI_VERSION >= NTDDI_WINXP)
     27 
     28 #define IOCTL_MOUNTDEV_QUERY_STABLE_GUID          CTL_CODE(MOUNTDEVCONTROLTYPE, 6, METHOD_BUFFERED, FILE_ANY_ACCESS)
     29 
     30 typedef struct _MOUNTDEV_STABLE_GUID {
     31   GUID StableGuid;
     32 } MOUNTDEV_STABLE_GUID, *PMOUNTDEV_STABLE_GUID;
     33 
     34 #endif /* (NTDDI_VERSION >= NTDDI_WINXP) */
     35 
     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 {
     39   ULONG Size;
     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;
     45 
     46 
     47 #endif /* _MOUNTDEV_ */
     48