Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
mountmgr.h
00001 /* 00002 * mountmgr.h 00003 * 00004 * Mount point manager interface. 00005 * 00006 * This file is part of the w32api package. 00007 * 00008 * Contributors: 00009 * Created by Casper S. Hornstrup <chorns@users.sourceforge.net> 00010 * 00011 * THIS SOFTWARE IS NOT COPYRIGHTED 00012 * 00013 * This source code is offered for use in the public domain. You may 00014 * use, modify or distribute it freely. 00015 * 00016 * This code is distributed in the hope that it will be useful but 00017 * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY 00018 * DISCLAIMED. This includes but is not limited to warranties of 00019 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 00020 * 00021 */ 00022 00023 #ifndef __MOUNTMGR_H 00024 #define __MOUNTMGR_H 00025 00026 #if __GNUC__ >=3 00027 #pragma GCC system_header 00028 #endif 00029 00030 #ifdef __cplusplus 00031 extern "C" { 00032 #endif 00033 00034 #include "ntddk.h" 00035 00036 DEFINE_GUID(MOUNTDEV_MOUNTED_DEVICE_GUID, 00037 0x53f5630d, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b); 00038 00039 #define MOUNTMGRCONTROLTYPE ((ULONG)'m') 00040 #define MOUNTDEVCONTROLTYPE ((ULONG)'M') 00041 00042 #define MOUNTMGR_DEVICE_NAME L"\\Device\\MountPointManager" 00043 #define MOUNTMGR_DOS_DEVICE_NAME L"\\\\.\\MountPointManager" 00044 00045 #define IOCTL_MOUNTMGR_CREATE_POINT \ 00046 CTL_CODE(MOUNTMGRCONTROLTYPE, 0, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS) 00047 00048 #define IOCTL_MOUNTMGR_QUERY_POINTS \ 00049 CTL_CODE(MOUNTMGRCONTROLTYPE, 2, METHOD_BUFFERED, FILE_ANY_ACCESS) 00050 00051 #define IOCTL_MOUNTMGR_DELETE_POINTS \ 00052 CTL_CODE(MOUNTMGRCONTROLTYPE, 1, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS) 00053 00054 #define IOCTL_MOUNTMGR_DELETE_POINTS_DBONLY \ 00055 CTL_CODE(MOUNTMGRCONTROLTYPE, 3, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS) 00056 00057 #define IOCTL_MOUNTMGR_NEXT_DRIVE_LETTER \ 00058 CTL_CODE(MOUNTMGRCONTROLTYPE, 4, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS) 00059 00060 #define IOCTL_MOUNTMGR_AUTO_DL_ASSIGNMENTS \ 00061 CTL_CODE(MOUNTMGRCONTROLTYPE, 5, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS) 00062 00063 #define IOCTL_MOUNTMGR_VOLUME_MOUNT_POINT_CREATED \ 00064 CTL_CODE(MOUNTMGRCONTROLTYPE, 6, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS) 00065 00066 #define IOCTL_MOUNTMGR_VOLUME_MOUNT_POINT_DELETED \ 00067 CTL_CODE(MOUNTMGRCONTROLTYPE, 7, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS) 00068 00069 #define IOCTL_MOUNTMGR_CHANGE_NOTIFY \ 00070 CTL_CODE(MOUNTMGRCONTROLTYPE, 8, METHOD_BUFFERED, FILE_READ_ACCESS) 00071 00072 #define IOCTL_MOUNTMGR_KEEP_LINKS_WHEN_OFFLINE \ 00073 CTL_CODE(MOUNTMGRCONTROLTYPE, 9, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS) 00074 00075 #define IOCTL_MOUNTMGR_CHECK_UNPROCESSED_VOLUMES \ 00076 CTL_CODE(MOUNTMGRCONTROLTYPE, 10, METHOD_BUFFERED, FILE_READ_ACCESS) 00077 00078 #define IOCTL_MOUNTMGR_VOLUME_ARRIVAL_NOTIFICATION \ 00079 CTL_CODE(MOUNTMGRCONTROLTYPE, 11, METHOD_BUFFERED, FILE_READ_ACCESS) 00080 00081 00082 typedef struct _MOUNTDEV_NAME { 00083 USHORT NameLength; 00084 WCHAR Name[1]; 00085 } MOUNTDEV_NAME, *PMOUNTDEV_NAME; 00086 00087 typedef struct _MOUNTMGR_CHANGE_NOTIFY_INFO { 00088 ULONG EpicNumber; 00089 } MOUNTMGR_CHANGE_NOTIFY_INFO, *PMOUNTMGR_CHANGE_NOTIFY_INFO; 00090 00091 typedef struct _MOUNTMGR_CREATE_POINT_INPUT { 00092 USHORT SymbolicLinkNameOffset; 00093 USHORT SymbolicLinkNameLength; 00094 USHORT DeviceNameOffset; 00095 USHORT DeviceNameLength; 00096 } MOUNTMGR_CREATE_POINT_INPUT, *PMOUNTMGR_CREATE_POINT_INPUT; 00097 00098 typedef struct _MOUNTMGR_DRIVE_LETTER_INFORMATION { 00099 BOOLEAN DriveLetterWasAssigned; 00100 UCHAR CurrentDriveLetter; 00101 } MOUNTMGR_DRIVE_LETTER_INFORMATION, *PMOUNTMGR_DRIVE_LETTER_INFORMATION; 00102 00103 typedef struct _MOUNTMGR_DRIVE_LETTER_TARGET { 00104 USHORT DeviceNameLength; 00105 WCHAR DeviceName[1]; 00106 } MOUNTMGR_DRIVE_LETTER_TARGET, *PMOUNTMGR_DRIVE_LETTER_TARGET; 00107 00108 typedef struct _MOUNTMGR_MOUNT_POINT { 00109 ULONG SymbolicLinkNameOffset; 00110 USHORT SymbolicLinkNameLength; 00111 ULONG UniqueIdOffset; 00112 USHORT UniqueIdLength; 00113 ULONG DeviceNameOffset; 00114 USHORT DeviceNameLength; 00115 } MOUNTMGR_MOUNT_POINT, *PMOUNTMGR_MOUNT_POINT; 00116 00117 typedef struct _MOUNTMGR_MOUNT_POINTS { 00118 ULONG Size; 00119 ULONG NumberOfMountPoints; 00120 MOUNTMGR_MOUNT_POINT MountPoints[1]; 00121 } MOUNTMGR_MOUNT_POINTS, *PMOUNTMGR_MOUNT_POINTS; 00122 00123 typedef struct _MOUNTMGR_TARGET_NAME { 00124 USHORT DeviceNameLength; 00125 WCHAR DeviceName[1]; 00126 } MOUNTMGR_TARGET_NAME, *PMOUNTMGR_TARGET_NAME; 00127 00128 typedef struct _MOUNTMGR_VOLUME_MOUNT_POINT { 00129 USHORT SourceVolumeNameOffset; 00130 USHORT SourceVolumeNameLength; 00131 USHORT TargetVolumeNameOffset; 00132 USHORT TargetVolumeNameLength; 00133 } MOUNTMGR_VOLUME_MOUNT_POINT, *PMOUNTMGR_VOLUME_MOUNT_POINT; 00134 00135 #ifdef __cplusplus 00136 } 00137 #endif 00138 00139 #endif /* __MOUNTMGR_H */
Generated on Tue Jul 12 2022 19:59:54 by
1.7.2