source: Daodan/MinGW/include/ddk/mountdev.h@ 1088

Last change on this file since 1088 was 1046, checked in by alloc, 8 years ago

Daodan: Added Windows MinGW and build batch file

File size: 2.0 KB
Line 
1/*
2 * mountdev.h
3 *
4 * Mount point manager/mounted devices interface.
5 *
6 * This file is part of the w32api package.
7 *
8 * Contributors:
9 * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
10 *
11 * THIS SOFTWARE IS NOT COPYRIGHTED
12 *
13 * This source code is offered for use in the public domain. You may
14 * use, modify or distribute it freely.
15 *
16 * This code is distributed in the hope that it will be useful but
17 * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
18 * DISCLAIMED. This includes but is not limited to warranties of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
20 *
21 */
22
23#ifndef __MOUNTDEV_H
24#define __MOUNTDEV_H
25
26#if __GNUC__ >=3
27#pragma GCC system_header
28#endif
29
30#ifdef __cplusplus
31extern "C" {
32#endif
33
34#include "ntddk.h"
35#include "mountmgr.h"
36
37#define IOCTL_MOUNTDEV_QUERY_DEVICE_NAME \
38 CTL_CODE(MOUNTDEVCONTROLTYPE, 2, METHOD_BUFFERED, FILE_ANY_ACCESS)
39
40#define IOCTL_MOUNTDEV_QUERY_UNIQUE_ID \
41 CTL_CODE(MOUNTDEVCONTROLTYPE, 0, METHOD_BUFFERED, FILE_ANY_ACCESS)
42
43#define IOCTL_MOUNTDEV_UNIQUE_ID_CHANGE_NOTIFY \
44 CTL_CODE(MOUNTDEVCONTROLTYPE, 1, METHOD_BUFFERED, FILE_ANY_ACCESS)
45
46#define IOCTL_MOUNTDEV_QUERY_SUGGESTED_LINK_NAME \
47 CTL_CODE(MOUNTDEVCONTROLTYPE, 3, METHOD_BUFFERED, FILE_ANY_ACCESS)
48
49#define IOCTL_MOUNTDEV_LINK_CREATED \
50 CTL_CODE(MOUNTDEVCONTROLTYPE, 4, METHOD_BUFFERED, FILE_ANY_ACCESS)
51
52#define IOCTL_MOUNTDEV_LINK_DELETED \
53 CTL_CODE(MOUNTDEVCONTROLTYPE, 5, METHOD_BUFFERED, FILE_ANY_ACCESS)
54
55
56typedef struct _MOUNTDEV_SUGGESTED_LINK_NAME {
57 BOOLEAN UseOnlyIfThereAreNoOtherLinks;
58 USHORT NameLength;
59 WCHAR Name[1];
60} MOUNTDEV_SUGGESTED_LINK_NAME, *PMOUNTDEV_SUGGESTED_LINK_NAME;
61
62typedef struct _MOUNTDEV_UNIQUE_ID {
63 USHORT UniqueIdLength;
64 UCHAR UniqueId[1];
65} MOUNTDEV_UNIQUE_ID, *PMOUNTDEV_UNIQUE_ID;
66
67typedef struct _MOUNTDEV_UNIQUE_ID_CHANGE_NOTIFY_OUTPUT {
68 ULONG Size;
69 USHORT OldUniqueIdOffset;
70 USHORT OldUniqueIdLength;
71 USHORT NewUniqueIdOffset;
72 USHORT NewUniqueIdLength;
73} MOUNTDEV_UNIQUE_ID_CHANGE_NOTIFY_OUTPUT;
74
75#ifdef __cplusplus
76}
77#endif
78
79#endif /* __MOUNTDEV_H */
Note: See TracBrowser for help on using the repository browser.