30#if !defined(__REACTOS__) || defined(_MSC_VER)
31#pragma warning(push,3)
36#if !defined(__REACTOS__) || defined(_MSC_VER)
43#pragma warning(disable: 4054 4201 4514)
46#if (VER_PRODUCTBUILD >= 2195)
58#define FILE_ATTRIBUTE_ENCRYPTED 0x00004000
60#define FILE_DEVICE_MASS_STORAGE 0x0000002d
65#define IOCTL_STORAGE_CHECK_VERIFY2 CTL_CODE( \
74#define MOUNTMGR_DEVICE_NAME L"\\Device\\MountPointManager"
75#define MOUNTMGRCONTROLTYPE ((ULONG) 'm')
76#define MOUNTDEVCONTROLTYPE ((ULONG) 'M')
78#define IOCTL_MOUNTDEV_QUERY_UNIQUE_ID CTL_CODE( \
84#define IOCTL_MOUNTDEV_UNIQUE_ID_CHANGE_NOTIFY \
91#define IOCTL_MOUNTDEV_QUERY_DEVICE_NAME CTL_CODE( \
97#define IOCTL_MOUNTDEV_QUERY_SUGGESTED_LINK_NAME \
104#define IOCTL_MOUNTDEV_LINK_CREATED CTL_CODE( \
105 MOUNTDEVCONTROLTYPE,\
110#define IOCTL_MOUNTDEV_LINK_DELETED CTL_CODE( \
111 MOUNTDEVCONTROLTYPE,\
116#define IOCTL_MOUNTMGR_CREATE_POINT CTL_CODE( \
117 MOUNTMGRCONTROLTYPE,\
120 FILE_READ_ACCESS | FILE_WRITE_ACCESS)
122#define IOCTL_MOUNTMGR_DELETE_POINTS CTL_CODE( \
123 MOUNTMGRCONTROLTYPE,\
126 FILE_READ_ACCESS | FILE_WRITE_ACCESS)
128#define IOCTL_MOUNTMGR_VOLUME_ARRIVAL_NOTIFICATION \
130 MOUNTMGRCONTROLTYPE,\
182#if (VER_PRODUCTBUILD < 2600)
186#define IOCTL_DISK_GET_PARTITION_INFO_EX CTL_CODE( \
192#define IOCTL_DISK_GET_LENGTH_INFO CTL_CODE( \
238#define IOCTL_STORAGE_GET_HOTPLUG_INFO CTL_CODE( \
239 IOCTL_STORAGE_BASE, \
255#define IOCTL_MOUNTDEV_QUERY_STABLE_GUID CTL_CODE( \
256 MOUNTDEVCONTROLTYPE,\
270#define TOKEN_SOURCE_LENGTH 8
298#define PsDereferenceImpersonationToken(T) \
299 if (ARGUMENT_PRESENT(T)) (ObDereferenceObject((T)))
301#define PsDereferencePrimaryToken(T) (ObDereferenceObject((T)))
320#define SeDeleteClientSecurity(C) \
322 if (SeTokenType((C)->ClientToken) == TokenPrimary) { \
323 PsDereferencePrimaryToken((C)->ClientToken); \
326 PsDereferenceImpersonationToken((C)->ClientToken); \
UINT CALLBACK ServerThread(_Inout_ PVOID Parameter)
_In_opt_ PFILE_OBJECT _In_opt_ PETHREAD Thread
GLuint GLuint GLsizei count
struct _PARTITION_INFORMATION_MBR * PPARTITION_INFORMATION_MBR
struct _MOUNTDEV_NAME MOUNTDEV_NAME
struct _GET_LENGTH_INFORMATION * PGET_LENGTH_INFORMATION
struct _MOUNTMGR_MOUNT_POINT * PMOUNTMGR_MOUNT_POINT
struct _SECURITY_CLIENT_CONTEXT SECURITY_CLIENT_CONTEXT
struct _TOKEN_SOURCE * PTOKEN_SOURCE
struct _MOUNTDEV_UNIQUE_ID MOUNTDEV_UNIQUE_ID
struct _STORAGE_HOTPLUG_INFO STORAGE_HOTPLUG_INFO
struct _TOKEN_CONTROL TOKEN_CONTROL
struct _GET_LENGTH_INFORMATION GET_LENGTH_INFORMATION
struct _TOKEN_SOURCE TOKEN_SOURCE
NTKERNELAPI TOKEN_TYPE NTAPI SeTokenType(IN PACCESS_TOKEN Token)
struct _MOUNTMGR_MOUNT_POINTS * PMOUNTMGR_MOUNT_POINTS
NTKERNELAPI VOID NTAPI PsRevertToSelf(VOID)
struct _MOUNTDEV_STABLE_GUID * PMOUNTDEV_STABLE_GUID
struct _PARTITION_INFORMATION_EX PARTITION_INFORMATION_EX
struct _MOUNTMGR_CREATE_POINT_INPUT MOUNTMGR_CREATE_POINT_INPUT
struct _SECURITY_CLIENT_CONTEXT * PSECURITY_CLIENT_CONTEXT
unsigned __int64 * PULONG64
struct _TOKEN_CONTROL * PTOKEN_CONTROL
struct _MOUNTDEV_NAME * PMOUNTDEV_NAME
NTKERNELAPI VOID NTAPI SeImpersonateClient(IN PSECURITY_CLIENT_CONTEXT ClientContext, IN PETHREAD ServerThread OPTIONAL)
int _swprintf(wchar_t *buffer, const wchar_t *format,...)
NTKERNELAPI NTSTATUS NTAPI SeCreateClientSecurity(IN PETHREAD Thread, IN PSECURITY_QUALITY_OF_SERVICE QualityOfService, IN BOOLEAN RemoteClient, OUT PSECURITY_CLIENT_CONTEXT ClientContext)
enum _PARTITION_STYLE PARTITION_STYLE
int _snwprintf(wchar_t *buffer, size_t count, const wchar_t *format,...)
struct _MOUNTMGR_TARGET_NAME * PMOUNTMGR_TARGET_NAME
struct _PARTITION_INFORMATION_EX * PPARTITION_INFORMATION_EX
struct _MOUNTMGR_TARGET_NAME MOUNTMGR_TARGET_NAME
struct _MOUNTMGR_MOUNT_POINT MOUNTMGR_MOUNT_POINT
struct _PARTITION_INFORMATION_MBR PARTITION_INFORMATION_MBR
struct _STORAGE_HOTPLUG_INFO * PSTORAGE_HOTPLUG_INFO
struct _MOUNTMGR_MOUNT_POINTS MOUNTMGR_MOUNT_POINTS
struct _MOUNTMGR_CREATE_POINT_INPUT * PMOUNTMGR_CREATE_POINT_INPUT
struct _MOUNTDEV_SUGGESTED_LINK_NAME * PMOUNTDEV_SUGGESTED_LINK_NAME
enum _MM_PAGE_PRIORITY MM_PAGE_PRIORITY
struct _PARTITION_INFORMATION_GPT * PPARTITION_INFORMATION_GPT
struct _PARTITION_INFORMATION_GPT PARTITION_INFORMATION_GPT
struct _MOUNTDEV_SUGGESTED_LINK_NAME MOUNTDEV_SUGGESTED_LINK_NAME
struct _MOUNTDEV_UNIQUE_ID * PMOUNTDEV_UNIQUE_ID
struct _MOUNTDEV_STABLE_GUID MOUNTDEV_STABLE_GUID
enum _TOKEN_TYPE TOKEN_TYPE
#define sprintf(buf, format,...)
PULONG MinorVersion OPTIONAL
BOOLEAN UseOnlyIfThereAreNoOtherLinks
MOUNTMGR_MOUNT_POINT MountPoints[1]
ULONG NumberOfMountPoints
USHORT SymbolicLinkNameLength
ULONG SymbolicLinkNameOffset
TOKEN_CONTROL ClientTokenControl
PACCESS_TOKEN ClientToken
SECURITY_QUALITY_OF_SERVICE SecurityQos
BOOLEAN DirectlyAccessClientToken
BOOLEAN DirectAccessEffectiveOnly
BOOLEAN WriteCacheEnableOverride
CCHAR SourceName[TOKEN_SOURCE_LENGTH]
_Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_opt_ PCUNICODE_STRING DeviceName
#define TOKEN_SOURCE_LENGTH