| /* |
| * mountdev.h |
| * |
| * Mount point manager/mounted devices interface. |
| * |
| * This file is part of the w32api package. |
| * |
| * Contributors: |
| * Created by Casper S. Hornstrup <chorns@users.sourceforge.net> |
| * |
| * THIS SOFTWARE IS NOT COPYRIGHTED |
| * |
| * This source code is offered for use in the public domain. You may |
| * use, modify or distribute it freely. |
| * |
| * This code is distributed in the hope that it will be useful but |
| * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY |
| * DISCLAIMED. This includes but is not limited to warranties of |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
| * |
| */ |
| |
| #ifndef __MOUNTDEV_H |
| #define __MOUNTDEV_H |
| |
| #if __GNUC__ >=3 |
| #pragma GCC system_header |
| #endif |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| #include "ntddk.h" |
| #include "mountmgr.h" |
| |
| #define IOCTL_MOUNTDEV_QUERY_DEVICE_NAME \ |
| CTL_CODE(MOUNTDEVCONTROLTYPE, 2, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_MOUNTDEV_QUERY_UNIQUE_ID \ |
| CTL_CODE(MOUNTDEVCONTROLTYPE, 0, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_MOUNTDEV_UNIQUE_ID_CHANGE_NOTIFY \ |
| CTL_CODE(MOUNTDEVCONTROLTYPE, 1, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_MOUNTDEV_QUERY_SUGGESTED_LINK_NAME \ |
| CTL_CODE(MOUNTDEVCONTROLTYPE, 3, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_MOUNTDEV_LINK_CREATED \ |
| CTL_CODE(MOUNTDEVCONTROLTYPE, 4, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_MOUNTDEV_LINK_DELETED \ |
| CTL_CODE(MOUNTDEVCONTROLTYPE, 5, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| |
| typedef struct _MOUNTDEV_SUGGESTED_LINK_NAME { |
| BOOLEAN UseOnlyIfThereAreNoOtherLinks; |
| USHORT NameLength; |
| WCHAR Name[1]; |
| } MOUNTDEV_SUGGESTED_LINK_NAME, *PMOUNTDEV_SUGGESTED_LINK_NAME; |
| |
| typedef struct _MOUNTDEV_UNIQUE_ID { |
| USHORT UniqueIdLength; |
| UCHAR UniqueId[1]; |
| } MOUNTDEV_UNIQUE_ID, *PMOUNTDEV_UNIQUE_ID; |
| |
| typedef struct _MOUNTDEV_UNIQUE_ID_CHANGE_NOTIFY_OUTPUT { |
| ULONG Size; |
| USHORT OldUniqueIdOffset; |
| USHORT OldUniqueIdLength; |
| USHORT NewUniqueIdOffset; |
| USHORT NewUniqueIdLength; |
| } MOUNTDEV_UNIQUE_ID_CHANGE_NOTIFY_OUTPUT; |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| |
| #endif /* __MOUNTDEV_H */ |