mirror of
https://github.com/reactos/reactos.git
synced 2025-07-04 12:21:25 +00:00
Added Io Stub Prototypes
svn path=/trunk/; revision=9845
This commit is contained in:
parent
f66364821f
commit
3074af46ff
3 changed files with 689 additions and 9 deletions
|
@ -454,6 +454,17 @@ typedef ULONG FS_INFORMATION_CLASS, *PFS_INFORMATION_CLASS;
|
|||
#define IRP_MN_QUERY_DIRECTORY 0x01
|
||||
#define IRP_MN_NOTIFY_CHANGE_DIRECTORY 0x02
|
||||
|
||||
|
||||
typedef struct _FILE_QUOTA_INFORMATION {
|
||||
ULONG NextEntryOffset;
|
||||
ULONG SidLength;
|
||||
LARGE_INTEGER ChangeTime;
|
||||
LARGE_INTEGER QuotaUsed;
|
||||
LARGE_INTEGER QuotaThreshold;
|
||||
LARGE_INTEGER QuotaLimit;
|
||||
LARGE_INTEGER Sid;
|
||||
} FILE_QUOTA_INFORMATION, *PFILE_QUOTA_INFORMATION;
|
||||
|
||||
/*
|
||||
* Floppy device data type
|
||||
*/
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#ifndef _INCLUDE_DDK_IOFUNCS_H
|
||||
#define _INCLUDE_DDK_IOFUNCS_H
|
||||
/* $Id: iofuncs.h,v 1.41 2003/11/19 20:57:22 gdalsnes Exp $ */
|
||||
/* $Id: iofuncs.h,v 1.42 2004/06/23 21:43:19 ion Exp $ */
|
||||
|
||||
#ifdef __NTOSKRNL__
|
||||
extern POBJECT_TYPE EXPORTED IoAdapterObjectType;
|
||||
|
@ -415,8 +415,8 @@ IoCheckFunctionAccess(IN ACCESS_MASK GrantedAccess,
|
|||
IN UCHAR MajorFunction,
|
||||
IN UCHAR MinorFunction,
|
||||
IN ULONG IoControlCode,
|
||||
IN PFILE_INFORMATION_CLASS FileInformationClass OPTIONAL,
|
||||
IN PFS_INFORMATION_CLASS FsInformationClass OPTIONAL);
|
||||
IN PVOID ExtraData OPTIONAL,
|
||||
IN PVOID ExtraData2 OPTIONAL);
|
||||
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
|
@ -788,11 +788,11 @@ STDCALL
|
|||
IoIsOperationSynchronous (
|
||||
IN PIRP Irp
|
||||
);
|
||||
BOOLEAN
|
||||
STDCALL
|
||||
IoIsSystemThread (
|
||||
PVOID Unknown0
|
||||
);
|
||||
BOOLEAN
|
||||
IoIsSystemThread(
|
||||
IN struct _ETHREAD* Thread
|
||||
);
|
||||
PIRP
|
||||
STDCALL
|
||||
IoMakeAssociatedIrp (
|
||||
|
@ -1238,6 +1238,547 @@ IoWritePartitionTable (
|
|||
PDRIVE_LAYOUT_INFORMATION PartitionBuffer
|
||||
);
|
||||
|
||||
/* STUBS*/
|
||||
|
||||
STDCALL
|
||||
NTSTATUS
|
||||
IoAttachDeviceToDeviceStackSafe(
|
||||
IN PDEVICE_OBJECT SourceDevice,
|
||||
IN PDEVICE_OBJECT TargetDevice,
|
||||
OUT PDEVICE_OBJECT *AttachedToDeviceObject
|
||||
);
|
||||
|
||||
STDCALL
|
||||
VOID
|
||||
IoCancelFileOpen(
|
||||
IN PDEVICE_OBJECT DeviceObject,
|
||||
IN PFILE_OBJECT FileObject
|
||||
);
|
||||
|
||||
STDCALL
|
||||
NTSTATUS
|
||||
IoCheckQuerySetFileInformation(
|
||||
IN FILE_INFORMATION_CLASS FileInformationClass,
|
||||
IN ULONG Length,
|
||||
IN BOOLEAN SetOperation
|
||||
);
|
||||
|
||||
STDCALL
|
||||
NTSTATUS
|
||||
IoCheckQuerySetVolumeInformation(
|
||||
IN FS_INFORMATION_CLASS FsInformationClass,
|
||||
IN ULONG Length,
|
||||
IN BOOLEAN SetOperation
|
||||
);
|
||||
|
||||
|
||||
STDCALL
|
||||
NTSTATUS
|
||||
IoCheckQuotaBufferValidity(
|
||||
IN PFILE_QUOTA_INFORMATION QuotaBuffer,
|
||||
IN ULONG QuotaLength,
|
||||
OUT PULONG ErrorOffset
|
||||
);
|
||||
|
||||
STDCALL
|
||||
NTSTATUS
|
||||
IoCreateFileSpecifyDeviceObjectHint(
|
||||
OUT PHANDLE FileHandle,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
IN POBJECT_ATTRIBUTES ObjectAttributes,
|
||||
OUT PIO_STATUS_BLOCK IoStatusBlock,
|
||||
IN PLARGE_INTEGER AllocationSize OPTIONAL,
|
||||
IN ULONG FileAttributes,
|
||||
IN ULONG ShareAccess,
|
||||
IN ULONG Disposition,
|
||||
IN ULONG CreateOptions,
|
||||
IN PVOID EaBuffer OPTIONAL,
|
||||
IN ULONG EaLength,
|
||||
IN CREATE_FILE_TYPE CreateFileType,
|
||||
IN PVOID ExtraCreateParameters OPTIONAL,
|
||||
IN ULONG Options,
|
||||
IN PVOID DeviceObject
|
||||
);
|
||||
|
||||
STDCALL
|
||||
PFILE_OBJECT
|
||||
IoCreateStreamFileObjectEx(
|
||||
IN PFILE_OBJECT FileObject OPTIONAL,
|
||||
IN PDEVICE_OBJECT DeviceObject OPTIONAL,
|
||||
OUT PHANDLE FileObjectHandle OPTIONAL
|
||||
);
|
||||
|
||||
STDCALL
|
||||
PFILE_OBJECT
|
||||
IoCreateStreamFileObjectLite(
|
||||
IN PFILE_OBJECT FileObject OPTIONAL,
|
||||
IN PDEVICE_OBJECT DeviceObject OPTIONAL
|
||||
);
|
||||
|
||||
STDCALL
|
||||
NTSTATUS
|
||||
IoEnumerateDeviceObjectList(
|
||||
IN PDRIVER_OBJECT DriverObject,
|
||||
IN PDEVICE_OBJECT *DeviceObjectList,
|
||||
IN ULONG DeviceObjectListSize,
|
||||
OUT PULONG ActualNumberDeviceObjects
|
||||
);
|
||||
|
||||
STDCALL
|
||||
BOOLEAN
|
||||
IoForwardIrpSynchronously(
|
||||
IN PDEVICE_OBJECT DeviceObject,
|
||||
IN PIRP Irp
|
||||
);
|
||||
|
||||
#define IoForwardAndCatchIrp IoForwardIrpSynchronously
|
||||
|
||||
STDCALL
|
||||
VOID
|
||||
IoFreeErrorLogEntry(
|
||||
PVOID ElEntry
|
||||
);
|
||||
|
||||
STDCALL
|
||||
ULONG
|
||||
IoPnPDeliverServicePowerNotification(
|
||||
ULONG VetoedPowerOperation OPTIONAL,
|
||||
ULONG PowerNotification,
|
||||
ULONG Unknown OPTIONAL,
|
||||
BOOLEAN Synchronous
|
||||
);
|
||||
|
||||
STDCALL
|
||||
NTSTATUS
|
||||
IoGetBootDiskInformation(
|
||||
IN OUT PBOOTDISK_INFORMATION BootDiskInformation,
|
||||
IN ULONG Size
|
||||
);
|
||||
|
||||
STDCALL
|
||||
PDEVICE_OBJECT
|
||||
IoGetDeviceAttachmentBaseRef(
|
||||
IN PDEVICE_OBJECT DeviceObject
|
||||
);
|
||||
|
||||
STDCALL
|
||||
NTSTATUS
|
||||
IoGetDiskDeviceObject(
|
||||
IN PDEVICE_OBJECT FileSystemDeviceObject,
|
||||
OUT PDEVICE_OBJECT *DiskDeviceObject
|
||||
);
|
||||
|
||||
STDCALL
|
||||
PDEVICE_OBJECT
|
||||
IoGetLowerDeviceObject(
|
||||
IN PDEVICE_OBJECT DeviceObject
|
||||
);
|
||||
|
||||
STDCALL
|
||||
ULONG
|
||||
IoGetRequestorProcessId(
|
||||
IN PIRP Irp
|
||||
);
|
||||
|
||||
STDCALL
|
||||
BOOLEAN
|
||||
IoIsFileOriginRemote(
|
||||
IN PFILE_OBJECT FileObject
|
||||
);
|
||||
|
||||
STDCALL
|
||||
BOOLEAN
|
||||
IoIsValidNameGraftingBuffer(
|
||||
IN PIRP Irp,
|
||||
IN PREPARSE_DATA_BUFFER ReparseBuffer
|
||||
);
|
||||
|
||||
STDCALL
|
||||
NTSTATUS
|
||||
IoQueryFileDosDeviceName(
|
||||
IN PFILE_OBJECT FileObject,
|
||||
OUT POBJECT_NAME_INFORMATION *ObjectNameInformation
|
||||
);
|
||||
|
||||
STDCALL
|
||||
VOID
|
||||
IoRegisterBootDriverReinitialization(
|
||||
IN PDRIVER_OBJECT DriverObject,
|
||||
IN PDRIVER_REINITIALIZE DriverReinitializationRoutine,
|
||||
IN PVOID Context
|
||||
);
|
||||
|
||||
STDCALL
|
||||
NTSTATUS
|
||||
IoRegisterLastChanceShutdownNotification(
|
||||
IN PDEVICE_OBJECT DeviceObject
|
||||
);
|
||||
|
||||
STDCALL
|
||||
VOID
|
||||
IoReuseIrp(
|
||||
IN OUT PIRP Irp,
|
||||
IN NTSTATUS Iostatus
|
||||
);
|
||||
|
||||
STDCALL
|
||||
NTSTATUS
|
||||
IoSetCompletionRoutineEx(
|
||||
IN PDEVICE_OBJECT DeviceObject,
|
||||
IN PIRP Irp,
|
||||
IN PIO_COMPLETION_ROUTINE CompletionRoutine,
|
||||
IN PVOID Context,
|
||||
IN BOOLEAN InvokeOnSuccess,
|
||||
IN BOOLEAN InvokeOnError,
|
||||
IN BOOLEAN InvokeOnCancel
|
||||
);
|
||||
|
||||
STDCALL
|
||||
NTSTATUS
|
||||
IoSetFileOrigin(
|
||||
IN PFILE_OBJECT FileObject,
|
||||
IN BOOLEAN Remote
|
||||
);
|
||||
|
||||
STDCALL
|
||||
NTSTATUS
|
||||
IoSetSystemPartition(
|
||||
PUNICODE_STRING VolumeNameString
|
||||
);
|
||||
|
||||
STDCALL
|
||||
NTSTATUS
|
||||
IoVolumeDeviceToDosName(
|
||||
IN PVOID VolumeDeviceObject,
|
||||
OUT PUNICODE_STRING DosName
|
||||
);
|
||||
|
||||
|
||||
STDCALL
|
||||
NTSTATUS
|
||||
IoSetPartitionInformationEx(
|
||||
IN PDEVICE_OBJECT DeviceObject,
|
||||
IN ULONG PartitionNumber,
|
||||
IN struct _SET_PARTITION_INFORMATION_EX* PartitionInfo
|
||||
);
|
||||
|
||||
STDCALL
|
||||
NTSTATUS
|
||||
IoWritePartitionTableEx(
|
||||
IN PDEVICE_OBJECT DeviceObject,
|
||||
IN struct _DRIVE_LAYOUT_INFORMATION_EX* DriveLayfout
|
||||
);
|
||||
|
||||
STDCALL
|
||||
NTSTATUS
|
||||
IoReadPartitionTableEx(
|
||||
IN PDEVICE_OBJECT DeviceObject,
|
||||
IN struct _DRIVE_LAYOUT_INFORMATION_EX** DriveLayout
|
||||
);
|
||||
|
||||
STDCALL
|
||||
NTSTATUS
|
||||
IoCreateDisk(
|
||||
IN PDEVICE_OBJECT DeviceObject,
|
||||
IN struct _CREATE_DISK* Disk
|
||||
);
|
||||
|
||||
STDCALL
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
IoGetDeviceInterfaces(
|
||||
IN CONST GUID *InterfaceClassGuid,
|
||||
IN PDEVICE_OBJECT PhysicalDeviceObject OPTIONAL,
|
||||
IN ULONG Flags,
|
||||
OUT PWSTR *SymbolicLinkList
|
||||
);
|
||||
|
||||
STDCALL
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
IoGetDeviceInterfaceAlias(
|
||||
IN PUNICODE_STRING SymbolicLinkName,
|
||||
IN CONST GUID *AliasInterfaceClassGuid,
|
||||
OUT PUNICODE_STRING AliasSymbolicLinkName
|
||||
);
|
||||
|
||||
STDCALL
|
||||
NTSTATUS
|
||||
IoOpenDeviceInterfaceRegistryKey(
|
||||
IN PUNICODE_STRING SymbolicLinkName,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
OUT PHANDLE DeviceInterfaceKey
|
||||
);
|
||||
|
||||
STDCALL
|
||||
NTSTATUS
|
||||
IoReadDiskSignature(
|
||||
IN PDEVICE_OBJECT DeviceObject,
|
||||
IN ULONG BytesPerSector,
|
||||
OUT PDISK_SIGNATURE Signature
|
||||
);
|
||||
|
||||
STDCALL
|
||||
NTSTATUS
|
||||
IoRegisterPlugPlayNotification(
|
||||
IN IO_NOTIFICATION_EVENT_CATEGORY EventCategory,
|
||||
IN ULONG EventCategoryFlags,
|
||||
IN PVOID EventCategoryData OPTIONAL,
|
||||
IN PDRIVER_OBJECT DriverObject,
|
||||
IN PDRIVER_NOTIFICATION_CALLBACK_ROUTINE CallbackRoutine,
|
||||
IN PVOID Context,
|
||||
OUT PVOID *NotificationEntry
|
||||
);
|
||||
|
||||
STDCALL
|
||||
NTSTATUS
|
||||
IoUnregisterPlugPlayNotification(
|
||||
IN PVOID NotificationEntry
|
||||
);
|
||||
|
||||
STDCALL
|
||||
NTSTATUS
|
||||
IoReportDetectedDevice(
|
||||
IN PDRIVER_OBJECT DriverObject,
|
||||
IN INTERFACE_TYPE LegacyBusType,
|
||||
IN ULONG BusNumber,
|
||||
IN ULONG SlotNumber,
|
||||
IN PCM_RESOURCE_LIST ResourceList,
|
||||
IN PIO_RESOURCE_REQUIREMENTS_LIST ResourceRequirements OPTIONAL,
|
||||
IN BOOLEAN ResourceAssigned,
|
||||
IN OUT PDEVICE_OBJECT *DeviceObject
|
||||
);
|
||||
|
||||
STDCALL
|
||||
NTSTATUS
|
||||
IoReportResourceForDetection(
|
||||
IN PDRIVER_OBJECT DriverObject,
|
||||
IN PCM_RESOURCE_LIST DriverList OPTIONAL,
|
||||
IN ULONG DriverListSize OPTIONAL,
|
||||
IN PDEVICE_OBJECT DeviceObject OPTIONAL,
|
||||
IN PCM_RESOURCE_LIST DeviceList OPTIONAL,
|
||||
IN ULONG DeviceListSize OPTIONAL,
|
||||
OUT PBOOLEAN ConflictDetected
|
||||
);
|
||||
|
||||
STDCALL
|
||||
NTSTATUS
|
||||
IoReportTargetDeviceChange(
|
||||
IN PDEVICE_OBJECT PhysicalDeviceObject,
|
||||
IN PVOID NotificationStructure
|
||||
);
|
||||
|
||||
STDCALL
|
||||
NTSTATUS
|
||||
IoReportTargetDeviceChangeAsynchronous(
|
||||
IN PDEVICE_OBJECT PhysicalDeviceObject,
|
||||
IN PVOID NotificationStructure,
|
||||
IN PDEVICE_CHANGE_COMPLETE_CALLBACK Callback, OPTIONAL
|
||||
IN PVOID Context OPTIONAL
|
||||
);
|
||||
|
||||
STDCALL
|
||||
VOID
|
||||
IoRequestDeviceEject(
|
||||
IN PDEVICE_OBJECT PhysicalDeviceObject
|
||||
);
|
||||
|
||||
STDCALL
|
||||
NTSTATUS
|
||||
IoVerifyPartitionTable(
|
||||
IN PDEVICE_OBJECT DeviceObject,
|
||||
IN BOOLEAN FixErrors
|
||||
);
|
||||
|
||||
STDCALL
|
||||
VOID
|
||||
IoSetStartIoAttributes(
|
||||
IN PDEVICE_OBJECT DeviceObject,
|
||||
IN BOOLEAN DeferredStartIo,
|
||||
IN BOOLEAN NonCancelable
|
||||
);
|
||||
|
||||
STDCALL
|
||||
VOID
|
||||
IoSynchronousInvalidateDeviceRelations(
|
||||
IN PDEVICE_OBJECT DeviceObject,
|
||||
IN DEVICE_RELATION_TYPE Type
|
||||
);
|
||||
|
||||
STDCALL
|
||||
NTSTATUS
|
||||
IoCreateDriver (
|
||||
IN PUNICODE_STRING DriverName, OPTIONAL
|
||||
IN PDRIVER_INITIALIZE InitializationFunction
|
||||
);
|
||||
|
||||
STDCALL
|
||||
NTSTATUS
|
||||
IoValidateDeviceIoControlAccess(
|
||||
IN PIRP Irp,
|
||||
IN ULONG RequiredAccess
|
||||
);
|
||||
|
||||
STDCALL
|
||||
VOID
|
||||
IoDeleteDriver (
|
||||
IN PDRIVER_OBJECT DriverObject
|
||||
);
|
||||
|
||||
STDCALL
|
||||
NTSTATUS
|
||||
IoGetRequestorSessionId(
|
||||
IN PIRP Irp,
|
||||
OUT PULONG pSessionId
|
||||
);
|
||||
|
||||
STDCALL
|
||||
NTSTATUS
|
||||
IoSetIoCompletion (
|
||||
IN PVOID IoCompletion,
|
||||
IN PVOID KeyContext,
|
||||
IN PVOID ApcContext,
|
||||
IN NTSTATUS IoStatus,
|
||||
IN ULONG_PTR IoStatusInformation,
|
||||
IN BOOLEAN Quota
|
||||
);
|
||||
|
||||
STDCALL
|
||||
NTSTATUS
|
||||
IoWMIRegistrationControl(
|
||||
IN PDEVICE_OBJECT DeviceObject,
|
||||
IN ULONG Action
|
||||
);
|
||||
|
||||
STDCALL
|
||||
NTSTATUS
|
||||
IoWMIAllocateInstanceIds(
|
||||
IN GUID *Guid,
|
||||
IN ULONG InstanceCount,
|
||||
OUT ULONG *FirstInstanceId
|
||||
);
|
||||
|
||||
STDCALL
|
||||
NTSTATUS
|
||||
IoWMISuggestInstanceName(
|
||||
IN PDEVICE_OBJECT PhysicalDeviceObject OPTIONAL,
|
||||
IN PUNICODE_STRING SymbolicLinkName OPTIONAL,
|
||||
IN BOOLEAN CombineNames,
|
||||
OUT PUNICODE_STRING SuggestedInstanceName
|
||||
);
|
||||
|
||||
STDCALL
|
||||
NTSTATUS
|
||||
IoWMIWriteEvent(
|
||||
IN PVOID WnodeEventItem
|
||||
);
|
||||
|
||||
STDCALL
|
||||
NTSTATUS IoWMIOpenBlock(
|
||||
IN GUID *DataBlockGuid,
|
||||
IN ULONG DesiredAccess,
|
||||
OUT PVOID *DataBlockObject
|
||||
);
|
||||
|
||||
|
||||
STDCALL
|
||||
NTSTATUS IoWMIQueryAllData(
|
||||
IN PVOID DataBlockObject,
|
||||
IN OUT ULONG *InOutBufferSize,
|
||||
OUT PVOID OutBuffer
|
||||
);
|
||||
|
||||
|
||||
STDCALL
|
||||
NTSTATUS
|
||||
IoWMIQueryAllDataMultiple(
|
||||
IN PVOID *DataBlockObjectList,
|
||||
IN ULONG ObjectCount,
|
||||
IN OUT ULONG *InOutBufferSize,
|
||||
OUT PVOID OutBuffer
|
||||
);
|
||||
|
||||
|
||||
STDCALL
|
||||
NTSTATUS
|
||||
IoWMIQuerySingleInstance(
|
||||
IN PVOID DataBlockObject,
|
||||
IN PUNICODE_STRING InstanceName,
|
||||
IN OUT ULONG *InOutBufferSize,
|
||||
OUT PVOID OutBuffer
|
||||
);
|
||||
|
||||
STDCALL
|
||||
NTSTATUS
|
||||
IoWMIQuerySingleInstanceMultiple(
|
||||
IN PVOID *DataBlockObjectList,
|
||||
IN PUNICODE_STRING InstanceNames,
|
||||
IN ULONG ObjectCount,
|
||||
IN OUT ULONG *InOutBufferSize,
|
||||
OUT PVOID OutBuffer
|
||||
);
|
||||
|
||||
STDCALL
|
||||
NTSTATUS
|
||||
IoWMISetSingleInstance(
|
||||
IN PVOID DataBlockObject,
|
||||
IN PUNICODE_STRING InstanceName,
|
||||
IN ULONG Version,
|
||||
IN ULONG ValueBufferSize,
|
||||
IN PVOID ValueBuffer
|
||||
);
|
||||
|
||||
STDCALL
|
||||
NTSTATUS
|
||||
IoWMISetSingleItem(
|
||||
IN PVOID DataBlockObject,
|
||||
IN PUNICODE_STRING InstanceName,
|
||||
IN ULONG DataItemId,
|
||||
IN ULONG Version,
|
||||
IN ULONG ValueBufferSize,
|
||||
IN PVOID ValueBuffer
|
||||
);
|
||||
|
||||
STDCALL
|
||||
NTSTATUS
|
||||
IoWMIExecuteMethod(
|
||||
IN PVOID DataBlockObject,
|
||||
IN PUNICODE_STRING InstanceName,
|
||||
IN ULONG MethodId,
|
||||
IN ULONG InBufferSize,
|
||||
IN OUT PULONG OutBufferSize,
|
||||
IN OUT PUCHAR InOutBuffer
|
||||
);
|
||||
|
||||
typedef VOID (*WMI_NOTIFICATION_CALLBACK)(
|
||||
PVOID Wnode,
|
||||
PVOID Context
|
||||
);
|
||||
|
||||
STDCALL
|
||||
NTSTATUS
|
||||
IoWMISetNotificationCallback(
|
||||
IN PVOID Object,
|
||||
IN WMI_NOTIFICATION_CALLBACK Callback,
|
||||
IN PVOID Context
|
||||
);
|
||||
|
||||
STDCALL
|
||||
NTSTATUS
|
||||
IoWMIHandleToInstanceName(
|
||||
IN PVOID DataBlockObject,
|
||||
IN HANDLE FileHandle,
|
||||
OUT PUNICODE_STRING InstanceName
|
||||
);
|
||||
|
||||
STDCALL
|
||||
NTSTATUS
|
||||
IoWMIDeviceObjectToInstanceName(
|
||||
IN PVOID DataBlockObject,
|
||||
IN PDEVICE_OBJECT DeviceObject,
|
||||
OUT PUNICODE_STRING InstanceName
|
||||
);
|
||||
|
||||
|
||||
/* --- --- --- INTERNAL or REACTOS ONLY --- --- --- */
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: iotypes.h,v 1.62 2004/01/05 14:28:19 weiden Exp $
|
||||
/* $Id: iotypes.h,v 1.63 2004/06/23 21:43:19 ion Exp $
|
||||
*
|
||||
*/
|
||||
|
||||
|
@ -1089,6 +1089,135 @@ typedef struct _PARTITION_INFORMATION
|
|||
} PARTITION_INFORMATION, *PPARTITION_INFORMATION;
|
||||
#endif
|
||||
|
||||
typedef enum _PARTITION_STYLE {
|
||||
PARTITION_STYLE_MBR,
|
||||
PARTITION_STYLE_GPT,
|
||||
PARTITION_STYLE_RAW
|
||||
} PARTITION_STYLE;
|
||||
|
||||
typedef struct _PARTITION_INFORMATION_GPT {
|
||||
GUID PartitionType;
|
||||
GUID PartitionId;
|
||||
ULONG64 Attributes;
|
||||
WCHAR Name [36];
|
||||
} PARTITION_INFORMATION_GPT, *PPARTITION_INFORMATION_GPT;
|
||||
|
||||
typedef struct _PARTITION_INFORMATION_MBR {
|
||||
UCHAR PartitionType;
|
||||
BOOLEAN BootIndicator;
|
||||
BOOLEAN RecognizedPartition;
|
||||
ULONG HiddenSectors;
|
||||
} PARTITION_INFORMATION_MBR, *PPARTITION_INFORMATION_MBR;
|
||||
|
||||
typedef SET_PARTITION_INFORMATION SET_PARTITION_INFORMATION_MBR;
|
||||
typedef PARTITION_INFORMATION_GPT SET_PARTITION_INFORMATION_GPT;
|
||||
|
||||
typedef struct _SET_PARTITION_INFORMATION_EX {
|
||||
PARTITION_STYLE PartitionStyle;
|
||||
union {
|
||||
SET_PARTITION_INFORMATION_MBR Mbr;
|
||||
SET_PARTITION_INFORMATION_GPT Gpt;
|
||||
};
|
||||
} SET_PARTITION_INFORMATION_EX, *PSET_PARTITION_INFORMATION_EX;
|
||||
|
||||
typedef struct _CREATE_DISK_GPT {
|
||||
GUID DiskId;
|
||||
ULONG MaxPartitionCount;
|
||||
} CREATE_DISK_GPT, *PCREATE_DISK_GPT;
|
||||
|
||||
typedef struct _CREATE_DISK_MBR {
|
||||
ULONG Signature;
|
||||
} CREATE_DISK_MBR, *PCREATE_DISK_MBR;
|
||||
|
||||
|
||||
typedef struct _CREATE_DISK {
|
||||
PARTITION_STYLE PartitionStyle;
|
||||
union {
|
||||
CREATE_DISK_MBR Mbr;
|
||||
CREATE_DISK_GPT Gpt;
|
||||
};
|
||||
} CREATE_DISK, *PCREATE_DISK;
|
||||
|
||||
typedef struct _DRIVE_LAYOUT_INFORMATION_GPT {
|
||||
GUID DiskId;
|
||||
LARGE_INTEGER StartingUsableOffset;
|
||||
LARGE_INTEGER UsableLength;
|
||||
ULONG MaxPartitionCount;
|
||||
} DRIVE_LAYOUT_INFORMATION_GPT, *PDRIVE_LAYOUT_INFORMATION_GPT;
|
||||
|
||||
typedef struct _DRIVE_LAYOUT_INFORMATION_MBR {
|
||||
ULONG Signature;
|
||||
} DRIVE_LAYOUT_INFORMATION_MBR, *PDRIVE_LAYOUT_INFORMATION_MBR;
|
||||
|
||||
typedef struct _PARTITION_INFORMATION_EX {
|
||||
PARTITION_STYLE PartitionStyle;
|
||||
LARGE_INTEGER StartingOffset;
|
||||
LARGE_INTEGER PartitionLength;
|
||||
ULONG PartitionNumber;
|
||||
BOOLEAN RewritePartition;
|
||||
union {
|
||||
PARTITION_INFORMATION_MBR Mbr;
|
||||
PARTITION_INFORMATION_GPT Gpt;
|
||||
};
|
||||
} PARTITION_INFORMATION_EX, *PPARTITION_INFORMATION_EX;
|
||||
|
||||
typedef struct _DRIVE_LAYOUT_INFORMATION_EX {
|
||||
ULONG PartitionStyle;
|
||||
ULONG PartitionCount;
|
||||
union {
|
||||
DRIVE_LAYOUT_INFORMATION_MBR Mbr;
|
||||
DRIVE_LAYOUT_INFORMATION_GPT Gpt;
|
||||
};
|
||||
PARTITION_INFORMATION_EX PartitionEntry[1];
|
||||
} DRIVE_LAYOUT_INFORMATION_EX, *PDRIVE_LAYOUT_INFORMATION_EX;
|
||||
|
||||
typedef struct _BOOTDISK_INFORMATION {
|
||||
LONGLONG BootPartitionOffset;
|
||||
LONGLONG SystemPartitionOffset;
|
||||
ULONG BootDeviceSignature;
|
||||
ULONG SystemDeviceSignature;
|
||||
} BOOTDISK_INFORMATION, *PBOOTDISK_INFORMATION;
|
||||
|
||||
|
||||
typedef struct _DISK_SIGNATURE {
|
||||
ULONG PartitionStyle;
|
||||
union {
|
||||
struct {
|
||||
ULONG Signature;
|
||||
ULONG CheckSum;
|
||||
} Mbr;
|
||||
|
||||
struct {
|
||||
GUID DiskId;
|
||||
} Gpt;
|
||||
};
|
||||
} DISK_SIGNATURE, *PDISK_SIGNATURE;
|
||||
|
||||
typedef struct _REPARSE_DATA_BUFFER {
|
||||
ULONG ReparseTag;
|
||||
USHORT ReparseDataLength;
|
||||
USHORT Reserved;
|
||||
union {
|
||||
struct {
|
||||
USHORT SubstituteNameOffset;
|
||||
USHORT SubstituteNameLength;
|
||||
USHORT PrintNameOffset;
|
||||
USHORT PrintNameLength;
|
||||
WCHAR PathBuffer[1];
|
||||
} SymbolicLinkReparseBuffer;
|
||||
struct {
|
||||
USHORT SubstituteNameOffset;
|
||||
USHORT SubstituteNameLength;
|
||||
USHORT PrintNameOffset;
|
||||
USHORT PrintNameLength;
|
||||
WCHAR PathBuffer[1];
|
||||
} MountPointReparseBuffer;
|
||||
struct {
|
||||
UCHAR DataBuffer[1];
|
||||
} GenericReparseBuffer;
|
||||
};
|
||||
} REPARSE_DATA_BUFFER, *PREPARSE_DATA_BUFFER;
|
||||
|
||||
typedef struct _DRIVER_LAYOUT_INFORMATION
|
||||
{
|
||||
ULONG PartitionCount;
|
||||
|
@ -1127,7 +1256,6 @@ typedef struct _IO_MAILSLOT_CREATE_BUFFER
|
|||
LARGE_INTEGER TimeOut;
|
||||
} IO_MAILSLOT_CREATE_BUFFER, *PIO_MAILSLOT_CREATE_BUFFER;
|
||||
|
||||
|
||||
/* error logging */
|
||||
|
||||
typedef struct _IO_ERROR_LOG_PACKET
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue