The real, definitive, Visual C++ support branch. Accept no substitutes
[reactos.git] / include / ddk / mountdev.h
1
2
3 #ifndef _MOUNTDEV_
4 #define _MOUNTDEV_
5
6 #include <mountmgr.h>
7
8 #define IOCTL_MOUNTDEV_QUERY_UNIQUE_ID CTL_CODE(MOUNTDEVCONTROLTYPE, 0, METHOD_BUFFERED, FILE_ANY_ACCESS)
9 #define IOCTL_MOUNTDEV_UNIQUE_ID_CHANGE_NOTIFY CTL_CODE(MOUNTDEVCONTROLTYPE, 1, METHOD_BUFFERED, FILE_ANY_ACCESS)
10 #define IOCTL_MOUNTDEV_QUERY_SUGGESTED_LINK_NAME CTL_CODE(MOUNTDEVCONTROLTYPE, 3, METHOD_BUFFERED, FILE_ANY_ACCESS)
11 #define IOCTL_MOUNTDEV_LINK_CREATED CTL_CODE(MOUNTDEVCONTROLTYPE, 4, METHOD_BUFFERED, FILE_ANY_ACCESS)
12 #define IOCTL_MOUNTDEV_LINK_DELETED CTL_CODE(MOUNTDEVCONTROLTYPE, 5, METHOD_BUFFERED, FILE_ANY_ACCESS)
13 #define IOCTL_MOUNTDEV_QUERY_STABLE_GUID CTL_CODE(MOUNTDEVCONTROLTYPE, 6, METHOD_BUFFERED, FILE_ANY_ACCESS)
14
15 typedef struct _MOUNTDEV_UNIQUE_ID_CHANGE_NOTIFY_OUTPUT
16 {
17 ULONG Size;
18 USHORT OldUniqueIdOffset;
19 USHORT OldUniqueIdLength;
20 USHORT NewUniqueIdOffset;
21 USHORT NewUniqueIdLength;
22 } MOUNTDEV_UNIQUE_ID_CHANGE_NOTIFY_OUTPUT, *PMOUNTDEV_UNIQUE_ID_CHANGE_NOTIFY_OUTPUT;
23
24 typedef struct _MOUNTDEV_SUGGESTED_LINK_NAME
25 {
26 BOOLEAN UseOnlyIfThereAreNoOtherLinks;
27 USHORT NameLength;
28 WCHAR Name[1];
29 } MOUNTDEV_SUGGESTED_LINK_NAME, *PMOUNTDEV_SUGGESTED_LINK_NAME;
30
31 typedef struct _MOUNTDEV_UNIQUE_ID
32 {
33 USHORT UniqueIdLength;
34 UCHAR UniqueId[1];
35 } MOUNTDEV_UNIQUE_ID, *PMOUNTDEV_UNIQUE_ID;
36
37 typedef struct _MOUNTDEV_STABLE_GUID
38 {
39 GUID StableGuid;
40 } MOUNTDEV_STABLE_GUID, *PMOUNTDEV_STABLE_GUID;
41
42 #endif