mirror of
https://github.com/reactos/reactos.git
synced 2024-08-16 16:39:08 +00:00
- Move more stuff to wdm.h
- Improve more Io* definitions - Fix KeInitializeDpc - IoCreateFile and everywhere related : ExtraCreateParameters -> InternalParameters - IoQueueWorkItem and everywhere related : Routine -> WorkerRoutine and pIoWorkItem -> IoWorkItem svn path=/branches/header-work/; revision=45794
This commit is contained in:
parent
e4fb241c6b
commit
6c5abe74d3
|
@ -6294,8 +6294,284 @@ IoCreateDevice(
|
||||||
IN BOOLEAN Exclusive,
|
IN BOOLEAN Exclusive,
|
||||||
OUT PDEVICE_OBJECT *DeviceObject);
|
OUT PDEVICE_OBJECT *DeviceObject);
|
||||||
|
|
||||||
|
NTKERNELAPI
|
||||||
|
NTSTATUS
|
||||||
|
IoCreateFile(
|
||||||
|
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 InternalParameters OPTIONAL,
|
||||||
|
IN ULONG Options);
|
||||||
|
|
||||||
|
NTKERNELAPI
|
||||||
|
PKEVENT
|
||||||
|
IoCreateNotificationEvent(
|
||||||
|
IN PUNICODE_STRING EventName,
|
||||||
|
OUT PHANDLE EventHandle);
|
||||||
|
|
||||||
|
NTKERNELAPI
|
||||||
|
NTSTATUS
|
||||||
|
IoCreateSymbolicLink(
|
||||||
|
IN PUNICODE_STRING SymbolicLinkName,
|
||||||
|
IN PUNICODE_STRING DeviceName);
|
||||||
|
|
||||||
|
NTKERNELAPI
|
||||||
|
PKEVENT
|
||||||
|
IoCreateSynchronizationEvent(
|
||||||
|
IN PUNICODE_STRING EventName,
|
||||||
|
OUT PHANDLE EventHandle);
|
||||||
|
|
||||||
|
NTKERNELAPI
|
||||||
|
NTSTATUS
|
||||||
|
IoCreateUnprotectedSymbolicLink(
|
||||||
|
IN PUNICODE_STRING SymbolicLinkName,
|
||||||
|
IN PUNICODE_STRING DeviceName);
|
||||||
|
|
||||||
|
NTKERNELAPI
|
||||||
|
VOID
|
||||||
|
IoDeleteDevice(
|
||||||
|
IN PDEVICE_OBJECT DeviceObject);
|
||||||
|
|
||||||
|
NTKERNELAPI
|
||||||
|
NTSTATUS
|
||||||
|
IoDeleteSymbolicLink(
|
||||||
|
IN PUNICODE_STRING SymbolicLinkName);
|
||||||
|
|
||||||
|
NTKERNELAPI
|
||||||
|
VOID
|
||||||
|
IoDetachDevice(
|
||||||
|
IN OUT PDEVICE_OBJECT TargetDevice);
|
||||||
|
|
||||||
|
NTKERNELAPI
|
||||||
|
VOID
|
||||||
|
IoDisconnectInterrupt(
|
||||||
|
IN PKINTERRUPT InterruptObject);
|
||||||
|
|
||||||
|
NTKERNELAPI
|
||||||
|
VOID
|
||||||
|
IoFreeIrp(
|
||||||
|
IN PIRP Irp);
|
||||||
|
|
||||||
|
NTKERNELAPI
|
||||||
|
VOID
|
||||||
|
IoFreeMdl(
|
||||||
|
IN PMDL Mdl);
|
||||||
|
|
||||||
|
NTKERNELAPI
|
||||||
|
VOID
|
||||||
|
IoFreeWorkItem(
|
||||||
|
IN PIO_WORKITEM IoWorkItem);
|
||||||
|
|
||||||
|
NTKERNELAPI
|
||||||
|
PDEVICE_OBJECT
|
||||||
|
NTAPI
|
||||||
|
IoGetAttachedDevice(
|
||||||
|
IN PDEVICE_OBJECT DeviceObject);
|
||||||
|
|
||||||
|
NTKERNELAPI
|
||||||
|
PDEVICE_OBJECT
|
||||||
|
IoGetAttachedDeviceReference(
|
||||||
|
IN PDEVICE_OBJECT DeviceObject);
|
||||||
|
|
||||||
|
NTKERNELAPI
|
||||||
|
NTSTATUS
|
||||||
|
IoGetBootDiskInformation(
|
||||||
|
IN OUT PBOOTDISK_INFORMATION BootDiskInformation,
|
||||||
|
IN ULONG Size);
|
||||||
|
|
||||||
|
NTKERNELAPI
|
||||||
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
|
IoGetDeviceInterfaceAlias(
|
||||||
|
IN PUNICODE_STRING SymbolicLinkName,
|
||||||
|
IN CONST GUID *AliasInterfaceClassGuid,
|
||||||
|
OUT PUNICODE_STRING AliasSymbolicLinkName);
|
||||||
|
|
||||||
|
NTKERNELAPI
|
||||||
|
PEPROCESS
|
||||||
|
IoGetCurrentProcess(
|
||||||
|
VOID);
|
||||||
|
|
||||||
|
NTKERNELAPI
|
||||||
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
|
IoGetDeviceInterfaces(
|
||||||
|
IN CONST GUID *InterfaceClassGuid,
|
||||||
|
IN PDEVICE_OBJECT PhysicalDeviceObject OPTIONAL,
|
||||||
|
IN ULONG Flags,
|
||||||
|
OUT PWSTR *SymbolicLinkList);
|
||||||
|
|
||||||
|
NTKERNELAPI
|
||||||
|
NTSTATUS
|
||||||
|
IoGetDeviceObjectPointer(
|
||||||
|
IN PUNICODE_STRING ObjectName,
|
||||||
|
IN ACCESS_MASK DesiredAccess,
|
||||||
|
OUT PFILE_OBJECT *FileObject,
|
||||||
|
OUT PDEVICE_OBJECT *DeviceObject);
|
||||||
|
|
||||||
|
NTKERNELAPI
|
||||||
|
NTSTATUS
|
||||||
|
IoGetDeviceProperty(
|
||||||
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
|
IN DEVICE_REGISTRY_PROPERTY DeviceProperty,
|
||||||
|
IN ULONG BufferLength,
|
||||||
|
OUT PVOID PropertyBuffer,
|
||||||
|
OUT PULONG ResultLength);
|
||||||
|
|
||||||
|
NTKERNELAPI
|
||||||
|
PDMA_ADAPTER
|
||||||
|
IoGetDmaAdapter(
|
||||||
|
IN PDEVICE_OBJECT PhysicalDeviceObject OPTIONAL,
|
||||||
|
IN PDEVICE_DESCRIPTION DeviceDescription,
|
||||||
|
IN OUT PULONG NumberOfMapRegisters);
|
||||||
|
|
||||||
|
NTKERNELAPI
|
||||||
|
PVOID
|
||||||
|
IoGetDriverObjectExtension(
|
||||||
|
IN PDRIVER_OBJECT DriverObject,
|
||||||
|
IN PVOID ClientIdentificationAddress);
|
||||||
|
|
||||||
|
NTKERNELAPI
|
||||||
|
PVOID
|
||||||
|
IoGetInitialStack(
|
||||||
|
VOID);
|
||||||
|
|
||||||
|
NTKERNELAPI
|
||||||
|
PDEVICE_OBJECT
|
||||||
|
IoGetRelatedDeviceObject(
|
||||||
|
IN PFILE_OBJECT FileObject);
|
||||||
|
|
||||||
|
NTKERNELAPI
|
||||||
|
VOID
|
||||||
|
IoQueueWorkItem(
|
||||||
|
IN PIO_WORKITEM IoWorkItem,
|
||||||
|
IN PIO_WORKITEM_ROUTINE WorkerRoutine,
|
||||||
|
IN WORK_QUEUE_TYPE QueueType,
|
||||||
|
IN PVOID Context OPTIONAL);
|
||||||
|
|
||||||
|
NTKERNELAPI
|
||||||
|
VOID
|
||||||
|
KeInitializeDpc(
|
||||||
|
OUT PRKDPC Dpc,
|
||||||
|
IN PKDEFERRED_ROUTINE DeferredRoutine,
|
||||||
|
IN PVOID DeferredContext OPTIONAL);
|
||||||
|
|
||||||
|
NTKERNELAPI
|
||||||
|
VOID
|
||||||
|
IoInitializeIrp(
|
||||||
|
IN OUT PIRP Irp,
|
||||||
|
IN USHORT PacketSize,
|
||||||
|
IN CCHAR StackSize);
|
||||||
|
|
||||||
|
NTKERNELAPI
|
||||||
|
VOID
|
||||||
|
NTAPI
|
||||||
|
IoInitializeRemoveLockEx(
|
||||||
|
IN PIO_REMOVE_LOCK Lock,
|
||||||
|
IN ULONG AllocateTag,
|
||||||
|
IN ULONG MaxLockedMinutes,
|
||||||
|
IN ULONG HighWatermark,
|
||||||
|
IN ULONG RemlockSize);
|
||||||
|
|
||||||
|
NTKERNELAPI
|
||||||
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
|
IoInitializeTimer(
|
||||||
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
|
IN PIO_TIMER_ROUTINE TimerRoutine,
|
||||||
|
IN PVOID Context OPTIONAL);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if (NTDDI_VERSION >= NTDDI_WINXP)
|
||||||
|
|
||||||
|
NTKERNELAPI
|
||||||
|
NTSTATUS
|
||||||
|
IoCsqInitialize(
|
||||||
|
IN PIO_CSQ Csq,
|
||||||
|
IN PIO_CSQ_INSERT_IRP CsqInsertIrp,
|
||||||
|
IN PIO_CSQ_REMOVE_IRP CsqRemoveIrp,
|
||||||
|
IN PIO_CSQ_PEEK_NEXT_IRP CsqPeekNextIrp,
|
||||||
|
IN PIO_CSQ_ACQUIRE_LOCK CsqAcquireLock,
|
||||||
|
IN PIO_CSQ_RELEASE_LOCK CsqReleaseLock,
|
||||||
|
IN PIO_CSQ_COMPLETE_CANCELED_IRP CsqCompleteCanceledIrp);
|
||||||
|
|
||||||
|
NTKERNELAPI
|
||||||
|
VOID
|
||||||
|
IoCsqInsertIrp(
|
||||||
|
IN PIO_CSQ Csq,
|
||||||
|
IN PIRP Irp,
|
||||||
|
IN PIO_CSQ_IRP_CONTEXT Context OPTIONAL);
|
||||||
|
|
||||||
|
NTKERNELAPI
|
||||||
|
PIRP
|
||||||
|
IoCsqRemoveIrp(
|
||||||
|
IN PIO_CSQ Csq,
|
||||||
|
IN PIO_CSQ_IRP_CONTEXT Context);
|
||||||
|
|
||||||
|
NTKERNELAPI
|
||||||
|
PIRP
|
||||||
|
IoCsqRemoveNextIrp(
|
||||||
|
IN PIO_CSQ Csq,
|
||||||
|
IN PVOID PeekContext);
|
||||||
|
|
||||||
|
NTKERNELAPI
|
||||||
|
BOOLEAN
|
||||||
|
IoForwardIrpSynchronously(
|
||||||
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
|
IN PIRP Irp);
|
||||||
|
|
||||||
|
#define IoForwardAndCatchIrp IoForwardIrpSynchronously
|
||||||
|
|
||||||
|
NTKERNELAPI
|
||||||
|
VOID
|
||||||
|
IoFreeErrorLogEntry(
|
||||||
|
PVOID ElEntry);
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* VOID
|
||||||
|
* IoInitializeRemoveLock(
|
||||||
|
* IN PIO_REMOVE_LOCK Lock,
|
||||||
|
* IN ULONG AllocateTag,
|
||||||
|
* IN ULONG MaxLockedMinutes,
|
||||||
|
* IN ULONG HighWatermark)
|
||||||
|
*/
|
||||||
|
#define IoInitializeRemoveLock( \
|
||||||
|
Lock, AllocateTag, MaxLockedMinutes, HighWatermark) \
|
||||||
|
IoInitializeRemoveLockEx(Lock, AllocateTag, MaxLockedMinutes, \
|
||||||
|
HighWatermark, sizeof(IO_REMOVE_LOCK))
|
||||||
|
|
||||||
|
VOID
|
||||||
|
FORCEINLINE
|
||||||
|
IoInitializeDpcRequest(
|
||||||
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
|
IN PIO_DPC_ROUTINE DpcRoutine)
|
||||||
|
{
|
||||||
|
KeInitializeDpc( &DeviceObject->Dpc,
|
||||||
|
(PKDEFERRED_ROUTINE) DpcRoutine,
|
||||||
|
DeviceObject );
|
||||||
|
}
|
||||||
|
|
||||||
|
#define DEVICE_INTERFACE_INCLUDE_NONACTIVE 0x00000001
|
||||||
|
|
||||||
|
/*
|
||||||
|
* ULONG
|
||||||
|
* IoGetFunctionCodeFromCtlCode(
|
||||||
|
* IN ULONG ControlCode)
|
||||||
|
*/
|
||||||
|
#define IoGetFunctionCodeFromCtlCode(_ControlCode) \
|
||||||
|
(((_ControlCode) >> 2) & 0x00000FFF)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* NTSTATUS
|
* NTSTATUS
|
||||||
* IoCallDriver(
|
* IoCallDriver(
|
||||||
|
@ -6343,6 +6619,24 @@ IoCopyCurrentIrpStackLocationToNext(
|
||||||
nextIrpSp->Control = 0;
|
nextIrpSp->Control = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
NTKERNELAPI
|
||||||
|
VOID
|
||||||
|
IoGetStackLimits(
|
||||||
|
OUT PULONG_PTR LowLimit,
|
||||||
|
OUT PULONG_PTR HighLimit);
|
||||||
|
|
||||||
|
FORCEINLINE
|
||||||
|
ULONG_PTR
|
||||||
|
IoGetRemainingStackSize(
|
||||||
|
VOID)
|
||||||
|
{
|
||||||
|
ULONG_PTR End, Begin;
|
||||||
|
ULONG_PTR Result;
|
||||||
|
|
||||||
|
IoGetStackLimits(&Begin, &End);
|
||||||
|
return ((ULONG_PTR)(&End) - Begin);
|
||||||
|
}
|
||||||
|
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* RTL Types *
|
* RTL Types *
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
|
|
|
@ -2594,105 +2594,12 @@ IoCreateDisk(
|
||||||
IN PDEVICE_OBJECT DeviceObject,
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
IN PCREATE_DISK Disk);
|
IN PCREATE_DISK Disk);
|
||||||
|
|
||||||
NTKERNELAPI
|
|
||||||
NTSTATUS
|
|
||||||
NTAPI
|
|
||||||
IoCreateFile(
|
|
||||||
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);
|
|
||||||
|
|
||||||
NTKERNELAPI
|
|
||||||
PKEVENT
|
|
||||||
NTAPI
|
|
||||||
IoCreateNotificationEvent(
|
|
||||||
IN PUNICODE_STRING EventName,
|
|
||||||
OUT PHANDLE EventHandle);
|
|
||||||
|
|
||||||
NTKERNELAPI
|
|
||||||
NTSTATUS
|
|
||||||
NTAPI
|
|
||||||
IoCreateSymbolicLink(
|
|
||||||
IN PUNICODE_STRING SymbolicLinkName,
|
|
||||||
IN PUNICODE_STRING DeviceName);
|
|
||||||
|
|
||||||
NTKERNELAPI
|
|
||||||
PKEVENT
|
|
||||||
NTAPI
|
|
||||||
IoCreateSynchronizationEvent(
|
|
||||||
IN PUNICODE_STRING EventName,
|
|
||||||
OUT PHANDLE EventHandle);
|
|
||||||
|
|
||||||
NTKERNELAPI
|
|
||||||
NTSTATUS
|
|
||||||
NTAPI
|
|
||||||
IoCreateUnprotectedSymbolicLink(
|
|
||||||
IN PUNICODE_STRING SymbolicLinkName,
|
|
||||||
IN PUNICODE_STRING DeviceName);
|
|
||||||
|
|
||||||
NTKERNELAPI
|
|
||||||
NTSTATUS
|
|
||||||
NTAPI
|
|
||||||
IoCsqInitialize(
|
|
||||||
PIO_CSQ Csq,
|
|
||||||
IN PIO_CSQ_INSERT_IRP CsqInsertIrp,
|
|
||||||
IN PIO_CSQ_REMOVE_IRP CsqRemoveIrp,
|
|
||||||
IN PIO_CSQ_PEEK_NEXT_IRP CsqPeekNextIrp,
|
|
||||||
IN PIO_CSQ_ACQUIRE_LOCK CsqAcquireLock,
|
|
||||||
IN PIO_CSQ_RELEASE_LOCK CsqReleaseLock,
|
|
||||||
IN PIO_CSQ_COMPLETE_CANCELED_IRP CsqCompleteCanceledIrp);
|
|
||||||
|
|
||||||
NTKERNELAPI
|
|
||||||
VOID
|
|
||||||
NTAPI
|
|
||||||
IoCsqInsertIrp(
|
|
||||||
IN PIO_CSQ Csq,
|
|
||||||
IN PIRP Irp,
|
|
||||||
IN PIO_CSQ_IRP_CONTEXT Context);
|
|
||||||
|
|
||||||
NTKERNELAPI
|
|
||||||
PIRP
|
|
||||||
NTAPI
|
|
||||||
IoCsqRemoveIrp(
|
|
||||||
IN PIO_CSQ Csq,
|
|
||||||
IN PIO_CSQ_IRP_CONTEXT Context);
|
|
||||||
|
|
||||||
NTKERNELAPI
|
|
||||||
PIRP
|
|
||||||
NTAPI
|
|
||||||
IoCsqRemoveNextIrp(
|
|
||||||
IN PIO_CSQ Csq,
|
|
||||||
IN PVOID PeekContext);
|
|
||||||
|
|
||||||
NTKERNELAPI
|
NTKERNELAPI
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
IoDeleteController(
|
IoDeleteController(
|
||||||
IN PCONTROLLER_OBJECT ControllerObject);
|
IN PCONTROLLER_OBJECT ControllerObject);
|
||||||
|
|
||||||
NTKERNELAPI
|
|
||||||
VOID
|
|
||||||
NTAPI
|
|
||||||
IoDeleteDevice(
|
|
||||||
IN PDEVICE_OBJECT DeviceObject);
|
|
||||||
|
|
||||||
NTKERNELAPI
|
|
||||||
NTSTATUS
|
|
||||||
NTAPI
|
|
||||||
IoDeleteSymbolicLink(
|
|
||||||
IN PUNICODE_STRING SymbolicLinkName);
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* VOID
|
* VOID
|
||||||
* IoDeassignArcName(
|
* IoDeassignArcName(
|
||||||
|
@ -2700,252 +2607,30 @@ IoDeleteSymbolicLink(
|
||||||
*/
|
*/
|
||||||
#define IoDeassignArcName IoDeleteSymbolicLink
|
#define IoDeassignArcName IoDeleteSymbolicLink
|
||||||
|
|
||||||
NTKERNELAPI
|
|
||||||
VOID
|
|
||||||
NTAPI
|
|
||||||
IoDetachDevice(
|
|
||||||
IN OUT PDEVICE_OBJECT TargetDevice);
|
|
||||||
|
|
||||||
NTKERNELAPI
|
|
||||||
VOID
|
|
||||||
NTAPI
|
|
||||||
IoDisconnectInterrupt(
|
|
||||||
IN PKINTERRUPT InterruptObject);
|
|
||||||
|
|
||||||
NTKERNELAPI
|
|
||||||
BOOLEAN
|
|
||||||
NTAPI
|
|
||||||
IoForwardIrpSynchronously(
|
|
||||||
IN PDEVICE_OBJECT DeviceObject,
|
|
||||||
IN PIRP Irp);
|
|
||||||
|
|
||||||
#define IoForwardAndCatchIrp IoForwardIrpSynchronously
|
|
||||||
|
|
||||||
NTKERNELAPI
|
NTKERNELAPI
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
IoFreeController(
|
IoFreeController(
|
||||||
IN PCONTROLLER_OBJECT ControllerObject);
|
IN PCONTROLLER_OBJECT ControllerObject);
|
||||||
|
|
||||||
NTKERNELAPI
|
|
||||||
VOID
|
|
||||||
NTAPI
|
|
||||||
IoFreeErrorLogEntry(
|
|
||||||
PVOID ElEntry);
|
|
||||||
|
|
||||||
NTKERNELAPI
|
|
||||||
VOID
|
|
||||||
NTAPI
|
|
||||||
IoFreeIrp(
|
|
||||||
IN PIRP Irp);
|
|
||||||
|
|
||||||
NTKERNELAPI
|
|
||||||
VOID
|
|
||||||
NTAPI
|
|
||||||
IoFreeMdl(
|
|
||||||
IN PMDL Mdl);
|
|
||||||
|
|
||||||
NTKERNELAPI
|
|
||||||
VOID
|
|
||||||
NTAPI
|
|
||||||
IoFreeWorkItem(
|
|
||||||
IN PIO_WORKITEM pIOWorkItem);
|
|
||||||
|
|
||||||
NTKERNELAPI
|
|
||||||
PDEVICE_OBJECT
|
|
||||||
NTAPI
|
|
||||||
IoGetAttachedDevice(
|
|
||||||
IN PDEVICE_OBJECT DeviceObject);
|
|
||||||
|
|
||||||
NTKERNELAPI
|
|
||||||
PDEVICE_OBJECT
|
|
||||||
NTAPI
|
|
||||||
IoGetAttachedDeviceReference(
|
|
||||||
IN PDEVICE_OBJECT DeviceObject);
|
|
||||||
|
|
||||||
NTKERNELAPI
|
|
||||||
NTSTATUS
|
|
||||||
NTAPI
|
|
||||||
IoGetBootDiskInformation(
|
|
||||||
IN OUT PBOOTDISK_INFORMATION BootDiskInformation,
|
|
||||||
IN ULONG Size);
|
|
||||||
|
|
||||||
NTKERNELAPI
|
NTKERNELAPI
|
||||||
PCONFIGURATION_INFORMATION
|
PCONFIGURATION_INFORMATION
|
||||||
NTAPI
|
NTAPI
|
||||||
IoGetConfigurationInformation(
|
IoGetConfigurationInformation(
|
||||||
VOID);
|
VOID);
|
||||||
|
|
||||||
NTKERNELAPI
|
|
||||||
PEPROCESS
|
|
||||||
NTAPI
|
|
||||||
IoGetCurrentProcess(
|
|
||||||
VOID);
|
|
||||||
|
|
||||||
NTKERNELAPI
|
|
||||||
NTSTATUS
|
|
||||||
NTAPI
|
|
||||||
IoGetDeviceInterfaceAlias(
|
|
||||||
IN PUNICODE_STRING SymbolicLinkName,
|
|
||||||
IN CONST GUID *AliasInterfaceClassGuid,
|
|
||||||
OUT PUNICODE_STRING AliasSymbolicLinkName);
|
|
||||||
|
|
||||||
#define DEVICE_INTERFACE_INCLUDE_NONACTIVE 0x00000001
|
|
||||||
|
|
||||||
NTKERNELAPI
|
|
||||||
NTSTATUS
|
|
||||||
NTAPI
|
|
||||||
IoGetDeviceInterfaces(
|
|
||||||
IN CONST GUID *InterfaceClassGuid,
|
|
||||||
IN PDEVICE_OBJECT PhysicalDeviceObject OPTIONAL,
|
|
||||||
IN ULONG Flags,
|
|
||||||
OUT PWSTR *SymbolicLinkList);
|
|
||||||
|
|
||||||
NTKERNELAPI
|
|
||||||
NTSTATUS
|
|
||||||
NTAPI
|
|
||||||
IoGetDeviceObjectPointer(
|
|
||||||
IN PUNICODE_STRING ObjectName,
|
|
||||||
IN ACCESS_MASK DesiredAccess,
|
|
||||||
OUT PFILE_OBJECT *FileObject,
|
|
||||||
OUT PDEVICE_OBJECT *DeviceObject);
|
|
||||||
|
|
||||||
NTKERNELAPI
|
|
||||||
NTSTATUS
|
|
||||||
NTAPI
|
|
||||||
IoGetDeviceProperty(
|
|
||||||
IN PDEVICE_OBJECT DeviceObject,
|
|
||||||
IN DEVICE_REGISTRY_PROPERTY DeviceProperty,
|
|
||||||
IN ULONG BufferLength,
|
|
||||||
OUT PVOID PropertyBuffer,
|
|
||||||
OUT PULONG ResultLength);
|
|
||||||
|
|
||||||
NTKERNELAPI
|
NTKERNELAPI
|
||||||
PDEVICE_OBJECT
|
PDEVICE_OBJECT
|
||||||
NTAPI
|
NTAPI
|
||||||
IoGetDeviceToVerify(
|
IoGetDeviceToVerify(
|
||||||
IN PETHREAD Thread);
|
IN PETHREAD Thread);
|
||||||
|
|
||||||
NTKERNELAPI
|
|
||||||
PDMA_ADAPTER
|
|
||||||
NTAPI
|
|
||||||
IoGetDmaAdapter(
|
|
||||||
IN PDEVICE_OBJECT PhysicalDeviceObject,
|
|
||||||
IN PDEVICE_DESCRIPTION DeviceDescription,
|
|
||||||
IN OUT PULONG NumberOfMapRegisters);
|
|
||||||
|
|
||||||
NTKERNELAPI
|
|
||||||
PVOID
|
|
||||||
NTAPI
|
|
||||||
IoGetDriverObjectExtension(
|
|
||||||
IN PDRIVER_OBJECT DriverObject,
|
|
||||||
IN PVOID ClientIdentificationAddress);
|
|
||||||
|
|
||||||
NTKERNELAPI
|
NTKERNELAPI
|
||||||
PGENERIC_MAPPING
|
PGENERIC_MAPPING
|
||||||
NTAPI
|
NTAPI
|
||||||
IoGetFileObjectGenericMapping(
|
IoGetFileObjectGenericMapping(
|
||||||
VOID);
|
VOID);
|
||||||
|
|
||||||
/*
|
|
||||||
* ULONG
|
|
||||||
* IoGetFunctionCodeFromCtlCode(
|
|
||||||
* IN ULONG ControlCode)
|
|
||||||
*/
|
|
||||||
#define IoGetFunctionCodeFromCtlCode(_ControlCode) \
|
|
||||||
(((_ControlCode) >> 2) & 0x00000FFF)
|
|
||||||
|
|
||||||
NTKERNELAPI
|
|
||||||
PVOID
|
|
||||||
NTAPI
|
|
||||||
IoGetInitialStack(
|
|
||||||
VOID);
|
|
||||||
|
|
||||||
NTKERNELAPI
|
|
||||||
PDEVICE_OBJECT
|
|
||||||
NTAPI
|
|
||||||
IoGetRelatedDeviceObject(
|
|
||||||
IN PFILE_OBJECT FileObject);
|
|
||||||
|
|
||||||
NTKERNELAPI
|
|
||||||
VOID
|
|
||||||
NTAPI
|
|
||||||
IoGetStackLimits(
|
|
||||||
OUT PULONG_PTR LowLimit,
|
|
||||||
OUT PULONG_PTR HighLimit);
|
|
||||||
|
|
||||||
FORCEINLINE
|
|
||||||
ULONG_PTR
|
|
||||||
IoGetRemainingStackSize(
|
|
||||||
VOID
|
|
||||||
)
|
|
||||||
{
|
|
||||||
ULONG_PTR End, Begin;
|
|
||||||
ULONG_PTR Result;
|
|
||||||
|
|
||||||
IoGetStackLimits(&Begin, &End);
|
|
||||||
Result = (ULONG_PTR)(&End) - Begin;
|
|
||||||
return Result;
|
|
||||||
}
|
|
||||||
|
|
||||||
NTKERNELAPI
|
|
||||||
VOID
|
|
||||||
NTAPI
|
|
||||||
KeInitializeDpc(
|
|
||||||
IN PRKDPC Dpc,
|
|
||||||
IN PKDEFERRED_ROUTINE DeferredRoutine,
|
|
||||||
IN PVOID DeferredContext);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* VOID
|
|
||||||
* IoInitializeDpcRequest(
|
|
||||||
* IN PDEVICE_OBJECT DeviceObject,
|
|
||||||
* IN PIO_DPC_ROUTINE DpcRoutine)
|
|
||||||
*/
|
|
||||||
#define IoInitializeDpcRequest(_DeviceObject, \
|
|
||||||
_DpcRoutine) \
|
|
||||||
KeInitializeDpc(&(_DeviceObject)->Dpc, \
|
|
||||||
(PKDEFERRED_ROUTINE) (_DpcRoutine), \
|
|
||||||
_DeviceObject)
|
|
||||||
|
|
||||||
NTKERNELAPI
|
|
||||||
VOID
|
|
||||||
NTAPI
|
|
||||||
IoInitializeIrp(
|
|
||||||
IN OUT PIRP Irp,
|
|
||||||
IN USHORT PacketSize,
|
|
||||||
IN CCHAR StackSize);
|
|
||||||
|
|
||||||
NTKERNELAPI
|
|
||||||
VOID
|
|
||||||
NTAPI
|
|
||||||
IoInitializeRemoveLockEx(
|
|
||||||
IN PIO_REMOVE_LOCK Lock,
|
|
||||||
IN ULONG AllocateTag,
|
|
||||||
IN ULONG MaxLockedMinutes,
|
|
||||||
IN ULONG HighWatermark,
|
|
||||||
IN ULONG RemlockSize);
|
|
||||||
|
|
||||||
/* VOID
|
|
||||||
* IoInitializeRemoveLock(
|
|
||||||
* IN PIO_REMOVE_LOCK Lock,
|
|
||||||
* IN ULONG AllocateTag,
|
|
||||||
* IN ULONG MaxLockedMinutes,
|
|
||||||
* IN ULONG HighWatermark)
|
|
||||||
*/
|
|
||||||
#define IoInitializeRemoveLock( \
|
|
||||||
Lock, AllocateTag, MaxLockedMinutes, HighWatermark) \
|
|
||||||
IoInitializeRemoveLockEx(Lock, AllocateTag, MaxLockedMinutes, \
|
|
||||||
HighWatermark, sizeof(IO_REMOVE_LOCK))
|
|
||||||
|
|
||||||
NTKERNELAPI
|
|
||||||
NTSTATUS
|
|
||||||
NTAPI
|
|
||||||
IoInitializeTimer(
|
|
||||||
IN PDEVICE_OBJECT DeviceObject,
|
|
||||||
IN PIO_TIMER_ROUTINE TimerRoutine,
|
|
||||||
IN PVOID Context);
|
|
||||||
|
|
||||||
NTKERNELAPI
|
NTKERNELAPI
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
|
@ -3035,15 +2720,6 @@ IoQueryDeviceDescription(
|
||||||
IN PIO_QUERY_DEVICE_ROUTINE CalloutRoutine,
|
IN PIO_QUERY_DEVICE_ROUTINE CalloutRoutine,
|
||||||
IN PVOID Context);
|
IN PVOID Context);
|
||||||
|
|
||||||
NTKERNELAPI
|
|
||||||
VOID
|
|
||||||
NTAPI
|
|
||||||
IoQueueWorkItem(
|
|
||||||
IN PIO_WORKITEM pIOWorkItem,
|
|
||||||
IN PIO_WORKITEM_ROUTINE Routine,
|
|
||||||
IN WORK_QUEUE_TYPE QueueType,
|
|
||||||
IN PVOID Context);
|
|
||||||
|
|
||||||
NTKERNELAPI
|
NTKERNELAPI
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
|
|
|
@ -1655,7 +1655,7 @@ IoCreateFile(OUT PHANDLE FileHandle,
|
||||||
IN PVOID EaBuffer OPTIONAL,
|
IN PVOID EaBuffer OPTIONAL,
|
||||||
IN ULONG EaLength,
|
IN ULONG EaLength,
|
||||||
IN CREATE_FILE_TYPE CreateFileType,
|
IN CREATE_FILE_TYPE CreateFileType,
|
||||||
IN PVOID ExtraCreateParameters OPTIONAL,
|
IN PVOID InternalParameters OPTIONAL,
|
||||||
IN ULONG Options)
|
IN ULONG Options)
|
||||||
{
|
{
|
||||||
KPROCESSOR_MODE AccessMode;
|
KPROCESSOR_MODE AccessMode;
|
||||||
|
|
Loading…
Reference in a new issue