ReactOS  0.4.15-dev-1623-g66cf1d2
iofuncs.h File Reference
#include <umtypes.h>
#include <iotypes.h>
Include dependency graph for iofuncs.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

VOID FASTCALL IoAssignDriveLetters (_In_ struct _LOADER_PARAMETER_BLOCK *LoaderBlock, _In_ PSTRING NtDeviceName, _Out_ PUCHAR NtSystemPath, _Out_ PSTRING NtSystemPathString)
 
NTSTATUS NTAPI IoSynchronousInvalidateDeviceRelations (_In_ PDEVICE_OBJECT DeviceObject, _In_ DEVICE_RELATION_TYPE Type)
 
NTSTATUS NTAPI IoCreateDriver (_In_opt_ PUNICODE_STRING DriverName, _In_ PDRIVER_INITIALIZE InitializationFunction)
 
NTSTATUS NTAPI IoReportHalResourceUsage (_In_ PUNICODE_STRING HalName, _In_ PCM_RESOURCE_LIST RawResourceList, _In_ PCM_RESOURCE_LIST TranslatedResourceList, _In_ ULONG ResourceListSize)
 
NTSYSCALLAPI NTSTATUS NTAPI NtAddBootEntry (_In_ PBOOT_ENTRY BootEntry, _In_ ULONG Id)
 
NTSYSCALLAPI NTSTATUS NTAPI NtAddDriverEntry (_In_ PEFI_DRIVER_ENTRY BootEntry, _In_ ULONG Id)
 
NTSYSCALLAPI NTSTATUS NTAPI NtCancelIoFile (_In_ HANDLE FileHandle, _Out_ PIO_STATUS_BLOCK IoStatusBlock)
 
__kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtCreateFile (_Out_ PHANDLE FileHandle, _In_ ACCESS_MASK DesiredAccess, _In_ POBJECT_ATTRIBUTES ObjectAttributes, _Out_ PIO_STATUS_BLOCK IoStatusBlock, _In_opt_ PLARGE_INTEGER AllocationSize, _In_ ULONG FileAttributes, _In_ ULONG ShareAccess, _In_ ULONG CreateDisposition, _In_ ULONG CreateOptions, _In_reads_bytes_opt_(EaLength) PVOID EaBuffer, _In_ ULONG EaLength)
 
NTSYSCALLAPI NTSTATUS NTAPI NtCreateIoCompletion (_Out_ PHANDLE IoCompletionHandle, _In_ ACCESS_MASK DesiredAccess, _In_opt_ POBJECT_ATTRIBUTES ObjectAttributes, _In_ ULONG NumberOfConcurrentThreads)
 
NTSYSCALLAPI NTSTATUS NTAPI NtCreateMailslotFile (_Out_ PHANDLE MailSlotFileHandle, _In_ ACCESS_MASK DesiredAccess, _In_ POBJECT_ATTRIBUTES ObjectAttributes, _Out_ PIO_STATUS_BLOCK IoStatusBlock, _In_ ULONG FileAttributes, _In_ ULONG ShareAccess, _In_ ULONG MaxMessageSize, _In_ PLARGE_INTEGER TimeOut)
 
NTSYSCALLAPI NTSTATUS NTAPI NtCreateNamedPipeFile (_Out_ PHANDLE NamedPipeFileHandle, _In_ ACCESS_MASK DesiredAccess, _In_ POBJECT_ATTRIBUTES ObjectAttributes, _Out_ PIO_STATUS_BLOCK IoStatusBlock, _In_ ULONG ShareAccess, _In_ ULONG CreateDisposition, _In_ ULONG CreateOptions, _In_ ULONG WriteModeMessage, _In_ ULONG ReadModeMessage, _In_ ULONG NonBlocking, _In_ ULONG MaxInstances, _In_ ULONG InBufferSize, _In_ ULONG OutBufferSize, _In_ PLARGE_INTEGER DefaultTimeOut)
 
NTSYSCALLAPI NTSTATUS NTAPI NtDeleteDriverEntry (_In_ ULONG Id)
 
NTSYSCALLAPI NTSTATUS NTAPI NtDeleteBootEntry (_In_ ULONG Id)
 
NTSYSCALLAPI NTSTATUS NTAPI NtDeleteFile (_In_ POBJECT_ATTRIBUTES ObjectAttributes)
 
__kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtDeviceIoControlFile (_In_ HANDLE FileHandle, _In_opt_ HANDLE Event, _In_opt_ PIO_APC_ROUTINE ApcRoutine, _In_opt_ PVOID ApcContext, _Out_ PIO_STATUS_BLOCK IoStatusBlock, _In_ ULONG IoControlCode, _In_reads_bytes_opt_(InputBufferLength) PVOID InputBuffer, _In_ ULONG InputBufferLength, _Out_writes_bytes_opt_(OutputBufferLength) PVOID OutputBuffer, _In_ ULONG OutputBufferLength)
 
NTSYSCALLAPI NTSTATUS NTAPI NtEnumerateBootEntries (_In_ PVOID Buffer, _In_ PULONG BufferLength)
 
NTSYSCALLAPI NTSTATUS NTAPI NtEnumerateDriverEntries (_In_ PVOID Buffer, _In_ PULONG BufferLength)
 
NTSYSCALLAPI NTSTATUS NTAPI NtFlushBuffersFile (_In_ HANDLE FileHandle, _Out_ PIO_STATUS_BLOCK IoStatusBlock)
 
NTSYSCALLAPI NTSTATUS NTAPI NtFlushWriteBuffer (VOID)
 
__kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtFsControlFile (_In_ HANDLE FileHandle, _In_opt_ HANDLE Event, _In_opt_ PIO_APC_ROUTINE ApcRoutine, _In_opt_ PVOID ApcContext, _Out_ PIO_STATUS_BLOCK IoStatusBlock, _In_ ULONG FsControlCode, _In_reads_bytes_opt_(InputBufferLength) PVOID InputBuffer, _In_ ULONG InputBufferLength, _Out_writes_bytes_opt_(OutputBufferLength) PVOID OutputBuffer, _In_ ULONG OutputBufferLength)
 
NTSYSCALLAPI NTSTATUS NTAPI NtLoadDriver (_In_ PUNICODE_STRING DriverServiceName)
 
NTSYSCALLAPI NTSTATUS NTAPI NtLockFile (_In_ HANDLE FileHandle, _In_opt_ HANDLE Event, _In_opt_ PIO_APC_ROUTINE ApcRoutine, _In_opt_ PVOID ApcContext, _Out_ PIO_STATUS_BLOCK IoStatusBlock, _In_ PLARGE_INTEGER ByteOffset, _In_ PLARGE_INTEGER Length, _In_ ULONG Key, _In_ BOOLEAN FailImmediatedly, _In_ BOOLEAN ExclusiveLock)
 
NTSYSCALLAPI NTSTATUS NTAPI NtModifyBootEntry (_In_ PBOOT_ENTRY BootEntry)
 
NTSYSCALLAPI NTSTATUS NTAPI NtModifyDriverEntry (_In_ PEFI_DRIVER_ENTRY DriverEntry)
 
NTSYSCALLAPI NTSTATUS NTAPI NtNotifyChangeDirectoryFile (_In_ HANDLE FileHandle, _In_opt_ HANDLE Event, _In_opt_ PIO_APC_ROUTINE ApcRoutine, _In_opt_ PVOID ApcContext, _Out_ PIO_STATUS_BLOCK IoStatusBlock, _Out_ PVOID Buffer, _In_ ULONG BufferSize, _In_ ULONG CompletionFilter, _In_ BOOLEAN WatchTree)
 
NTSYSCALLAPI NTSTATUS NTAPI NtOpenFile (_Out_ PHANDLE FileHandle, _In_ ACCESS_MASK DesiredAccess, _In_ POBJECT_ATTRIBUTES ObjectAttributes, _Out_ PIO_STATUS_BLOCK IoStatusBlock, _In_ ULONG ShareAccess, _In_ ULONG OpenOptions)
 
NTSYSCALLAPI NTSTATUS NTAPI NtOpenIoCompletion (_Out_ PHANDLE CompetionPort, _In_ ACCESS_MASK DesiredAccess, _In_ POBJECT_ATTRIBUTES ObjectAttributes)
 
NTSYSCALLAPI NTSTATUS NTAPI NtQueryAttributesFile (_In_ POBJECT_ATTRIBUTES ObjectAttributes, _Out_ PFILE_BASIC_INFORMATION FileInformation)
 
NTSTATUS NTAPI NtQueryDriverEntryOrder (_In_ PULONG Ids, _In_ PULONG Count)
 
NTSYSCALLAPI NTSTATUS NTAPI NtQueryBootEntryOrder (_In_ PULONG Ids, _In_ PULONG Count)
 
NTSYSCALLAPI NTSTATUS NTAPI NtQueryBootOptions (_In_ PBOOT_OPTIONS BootOptions, _In_ PULONG BootOptionsLength)
 
__kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtQueryDirectoryFile (_In_ HANDLE FileHandle, _In_opt_ HANDLE Event, _In_opt_ PIO_APC_ROUTINE ApcRoutine, _In_opt_ PVOID ApcContext, _Out_ PIO_STATUS_BLOCK IoStatusBlock, _Out_writes_bytes_(Length) PVOID FileInformation, _In_ ULONG Length, _In_ FILE_INFORMATION_CLASS FileInformationClass, _In_ BOOLEAN ReturnSingleEntry, _In_opt_ PUNICODE_STRING FileName, _In_ BOOLEAN RestartScan)
 
NTSYSCALLAPI NTSTATUS NTAPI NtQueryEaFile (_In_ HANDLE FileHandle, _Out_ PIO_STATUS_BLOCK IoStatusBlock, _Out_ PVOID Buffer, _In_ ULONG Length, _In_ BOOLEAN ReturnSingleEntry, _In_opt_ PVOID EaList, _In_ ULONG EaListLength, _In_opt_ PULONG EaIndex, _In_ BOOLEAN RestartScan)
 
NTSYSCALLAPI NTSTATUS NTAPI NtQueryFullAttributesFile (_In_ POBJECT_ATTRIBUTES ObjectAttributes, _Out_ PFILE_NETWORK_OPEN_INFORMATION FileInformation)
 
__kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtQueryInformationFile (_In_ HANDLE FileHandle, _Out_ PIO_STATUS_BLOCK IoStatusBlock, _Out_writes_bytes_(Length) PVOID FileInformation, _In_ ULONG Length, _In_ FILE_INFORMATION_CLASS FileInformationClass)
 
NTSYSCALLAPI NTSTATUS NTAPI NtQueryIoCompletion (_In_ HANDLE IoCompletionHandle, _In_ IO_COMPLETION_INFORMATION_CLASS IoCompletionInformationClass, _Out_ PVOID IoCompletionInformation, _In_ ULONG IoCompletionInformationLength, _Out_opt_ PULONG ResultLength)
 
__kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtQueryQuotaInformationFile (_In_ HANDLE FileHandle, _Out_ PIO_STATUS_BLOCK IoStatusBlock, _Out_writes_bytes_(Length) PVOID Buffer, _In_ ULONG Length, _In_ BOOLEAN ReturnSingleEntry, _In_reads_bytes_opt_(SidListLength) PVOID SidList, _In_ ULONG SidListLength, _In_reads_bytes_opt_((8+(4 *((SID *) StartSid) ->SubAuthorityCount))) PSID StartSid, _In_ BOOLEAN RestartScan)
 
__kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtQueryVolumeInformationFile (_In_ HANDLE FileHandle, _Out_ PIO_STATUS_BLOCK IoStatusBlock, _Out_writes_bytes_(Length) PVOID FsInformation, _In_ ULONG Length, _In_ FS_INFORMATION_CLASS FsInformationClass)
 
__kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtReadFile (_In_ HANDLE FileHandle, _In_opt_ HANDLE Event, _In_opt_ PIO_APC_ROUTINE ApcRoutine, _In_opt_ PVOID ApcContext, _Out_ PIO_STATUS_BLOCK IoStatusBlock, _Out_writes_bytes_(Length) PVOID Buffer, _In_ ULONG Length, _In_opt_ PLARGE_INTEGER ByteOffset, _In_opt_ PULONG Key)
 
NTSYSCALLAPI NTSTATUS NTAPI NtReadFileScatter (_In_ HANDLE FileHandle, _In_opt_ HANDLE Event, _In_opt_ PIO_APC_ROUTINE UserApcRoutine, _In_opt_ PVOID UserApcContext, _Out_ PIO_STATUS_BLOCK UserIoStatusBlock, _In_ FILE_SEGMENT_ELEMENT BufferDescription[], _In_ ULONG BufferLength, _In_ PLARGE_INTEGER ByteOffset, _In_opt_ PULONG Key)
 
NTSYSCALLAPI NTSTATUS NTAPI NtRemoveIoCompletion (_In_ HANDLE IoCompletionHandle, _Out_ PVOID *CompletionKey, _Out_ PVOID *CompletionContext, _Out_ PIO_STATUS_BLOCK IoStatusBlock, _In_opt_ PLARGE_INTEGER Timeout)
 
NTSYSCALLAPI NTSTATUS NTAPI NtSetBootEntryOrder (_In_ PULONG Ids, _In_ PULONG Count)
 
NTSYSCALLAPI NTSTATUS NTAPI NtSetBootOptions (_In_ PBOOT_OPTIONS BootOptions, _In_ ULONG FieldsToChange)
 
NTSTATUS NTAPI NtSetDriverEntryOrder (_In_ PULONG Ids, _In_ PULONG Count)
 
NTSYSCALLAPI NTSTATUS NTAPI NtSetEaFile (_In_ HANDLE FileHandle, _In_ PIO_STATUS_BLOCK IoStatusBlock, PVOID EaBuffer, ULONG EaBufferSize)
 
__kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtSetInformationFile (_In_ HANDLE FileHandle, _Out_ PIO_STATUS_BLOCK IoStatusBlock, _In_reads_bytes_(Length) PVOID FileInformation, _In_ ULONG Length, _In_ FILE_INFORMATION_CLASS FileInformationClass)
 
NTSYSCALLAPI NTSTATUS NTAPI NtSetIoCompletion (_In_ HANDLE IoCompletionPortHandle, _In_ PVOID CompletionKey, _In_ PVOID CompletionContext, _In_ NTSTATUS CompletionStatus, _In_ ULONG CompletionInformation)
 
NTSYSCALLAPI NTSTATUS NTAPI NtSetQuotaInformationFile (HANDLE FileHandle, PIO_STATUS_BLOCK IoStatusBlock, PVOID Buffer, ULONG BufferLength)
 
__kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtSetVolumeInformationFile (_In_ HANDLE FileHandle, _Out_ PIO_STATUS_BLOCK IoStatusBlock, _In_reads_bytes_(Length) PVOID FsInformation, _In_ ULONG Length, _In_ FS_INFORMATION_CLASS FsInformationClass)
 
NTSYSCALLAPI NTSTATUS NTAPI NtTranslateFilePath (PFILE_PATH InputFilePath, ULONG OutputType, PFILE_PATH OutputFilePath, ULONG OutputFilePathLength)
 
NTSYSCALLAPI NTSTATUS NTAPI NtUnloadDriver (_In_ PUNICODE_STRING DriverServiceName)
 
__kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtUnlockFile (_In_ HANDLE FileHandle, _Out_ PIO_STATUS_BLOCK IoStatusBlock, _In_ PLARGE_INTEGER ByteOffset, _In_ PLARGE_INTEGER Length, _In_ ULONG Key)
 
__kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtWriteFile (_In_ HANDLE FileHandle, _In_opt_ HANDLE Event, _In_opt_ PIO_APC_ROUTINE ApcRoutine, _In_opt_ PVOID ApcContext, _Out_ PIO_STATUS_BLOCK IoStatusBlock, _In_reads_bytes_(Length) PVOID Buffer, _In_ ULONG Length, _In_opt_ PLARGE_INTEGER ByteOffset, _In_opt_ PULONG Key)
 
NTSYSCALLAPI NTSTATUS NTAPI NtWriteFileGather (_In_ HANDLE FileHandle, _In_opt_ HANDLE Event, _In_opt_ PIO_APC_ROUTINE ApcRoutine, _In_opt_ PVOID ApcContext, _Out_ PIO_STATUS_BLOCK IoStatusBlock, _In_ FILE_SEGMENT_ELEMENT BufferDescription[], _In_ ULONG BufferLength, _In_ PLARGE_INTEGER ByteOffset, _In_opt_ PULONG Key)
 
NTSYSAPI NTSTATUS NTAPI ZwAddBootEntry (_In_ PUNICODE_STRING EntryName, _In_ PUNICODE_STRING EntryValue)
 
NTSYSAPI NTSTATUS NTAPI ZwCancelIoFile (_In_ HANDLE FileHandle, _Out_ PIO_STATUS_BLOCK IoStatusBlock)
 
 _IRQL_requires_max_ (PASSIVE_LEVEL) NTSYSAPI NTSTATUS NTAPI ZwCreateFile(_Out_ PHANDLE FileHandle
 
_In_ ACCESS_MASK _In_ POBJECT_ATTRIBUTES _Out_ PIO_STATUS_BLOCK _In_opt_ PLARGE_INTEGER _In_ ULONG _In_ ULONG _In_ ULONG _In_ ULONG _In_reads_bytes_opt_ (EaLength) PVOID EaBuffer
 
NTSYSAPI NTSTATUS NTAPI ZwCreateIoCompletion (_Out_ PHANDLE IoCompletionHandle, _In_ ACCESS_MASK DesiredAccess, _In_opt_ POBJECT_ATTRIBUTES ObjectAttributes, _In_ ULONG NumberOfConcurrentThreads)
 
NTSYSAPI NTSTATUS NTAPI ZwCreateMailslotFile (_Out_ PHANDLE MailSlotFileHandle, _In_ ACCESS_MASK DesiredAccess, _In_ POBJECT_ATTRIBUTES ObjectAttributes, _Out_ PIO_STATUS_BLOCK IoStatusBlock, _In_ ULONG FileAttributes, _In_ ULONG ShareAccess, _In_ ULONG MaxMessageSize, _In_ PLARGE_INTEGER TimeOut)
 
NTSYSAPI NTSTATUS NTAPI ZwCreateNamedPipeFile (_Out_ PHANDLE NamedPipeFileHandle, _In_ ACCESS_MASK DesiredAccess, _In_ POBJECT_ATTRIBUTES ObjectAttributes, _Out_ PIO_STATUS_BLOCK IoStatusBlock, _In_ ULONG ShareAccess, _In_ ULONG CreateDisposition, _In_ ULONG CreateOptions, _In_ ULONG WriteModeMessage, _In_ ULONG ReadModeMessage, _In_ ULONG NonBlocking, _In_ ULONG MaxInstances, _In_ ULONG InBufferSize, _In_ ULONG OutBufferSize, _In_ PLARGE_INTEGER DefaultTimeOut)
 
NTSYSAPI NTSTATUS NTAPI ZwDeleteBootEntry (_In_ PUNICODE_STRING EntryName, _In_ PUNICODE_STRING EntryValue)
 
NTSYSAPI NTSTATUS NTAPI ZwDeleteFile (_In_ POBJECT_ATTRIBUTES ObjectAttributes)
 
_In_opt_ HANDLE _In_opt_ PIO_APC_ROUTINE _In_opt_ PVOID _Out_ PIO_STATUS_BLOCK _In_ ULONG _In_reads_bytes_opt_ (InputBufferLength) PVOID InputBuffer
 
_In_opt_ HANDLE _In_opt_ PIO_APC_ROUTINE _In_opt_ PVOID _Out_ PIO_STATUS_BLOCK _In_ ULONG _In_ ULONG _Out_writes_bytes_opt_ (OutputBufferLength) PVOID OutputBuffer
 
NTSYSAPI NTSTATUS NTAPI ZwFlushWriteBuffer (VOID)
 
NTSYSAPI NTSTATUS NTAPI ZwLockFile (_In_ HANDLE FileHandle, _In_opt_ HANDLE Event, _In_opt_ PIO_APC_ROUTINE ApcRoutine, _In_opt_ PVOID ApcContext, _Out_ PIO_STATUS_BLOCK IoStatusBlock, _In_ PLARGE_INTEGER ByteOffset, _In_ PLARGE_INTEGER Length, _In_ ULONG Key, _In_ BOOLEAN FailImmediatedly, _In_ BOOLEAN ExclusiveLock)
 
NTSYSAPI NTSTATUS NTAPI ZwNotifyChangeDirectoryFile (_In_ HANDLE FileHandle, _In_opt_ HANDLE Event, _In_opt_ PIO_APC_ROUTINE ApcRoutine, _In_opt_ PVOID ApcContext, _Out_ PIO_STATUS_BLOCK IoStatusBlock, _Out_ PVOID Buffer, _In_ ULONG BufferSize, _In_ ULONG CompletionFilter, _In_ BOOLEAN WatchTree)
 
NTSYSAPI NTSTATUS NTAPI ZwOpenFile (_Out_ PHANDLE FileHandle, _In_ ACCESS_MASK DesiredAccess, _In_ POBJECT_ATTRIBUTES ObjectAttributes, _Out_ PIO_STATUS_BLOCK IoStatusBlock, _In_ ULONG ShareAccess, _In_ ULONG OpenOptions)
 
NTSYSAPI NTSTATUS NTAPI ZwOpenIoCompletion (_Out_ PHANDLE CompetionPort, _In_ ACCESS_MASK DesiredAccess, _In_ POBJECT_ATTRIBUTES ObjectAttributes)
 
NTSYSAPI NTSTATUS NTAPI ZwQueryAttributesFile (_In_ POBJECT_ATTRIBUTES ObjectAttributes, _Out_ PFILE_BASIC_INFORMATION FileInformation)
 
_In_opt_ HANDLE _In_opt_ PIO_APC_ROUTINE _In_opt_ PVOID _Out_ PIO_STATUS_BLOCK _Out_writes_bytes_ (Length) PVOID FileInformation
 
NTSYSAPI NTSTATUS NTAPI ZwQueryFullAttributesFile (_In_ POBJECT_ATTRIBUTES ObjectAttributes, _Out_ PFILE_NETWORK_OPEN_INFORMATION FileInformation)
 
NTSYSAPI NTSTATUS NTAPI ZwQueryIoCompletion (_In_ HANDLE IoCompletionHandle, _In_ IO_COMPLETION_INFORMATION_CLASS IoCompletionInformationClass, _Out_ PVOID IoCompletionInformation, _In_ ULONG IoCompletionInformationLength, _Out_opt_ PULONG ResultLength)
 
NTSYSAPI NTSTATUS NTAPI ZwQueryQuotaInformationFile (_In_ HANDLE FileHandle, _Out_ PIO_STATUS_BLOCK IoStatusBlock, _Out_ PVOID Buffer, _In_ ULONG Length, _In_ BOOLEAN ReturnSingleEntry, _In_opt_ PVOID SidList, _In_ ULONG SidListLength, _In_opt_ PSID StartSid, _In_ BOOLEAN RestartScan)
 
NTSYSAPI NTSTATUS NTAPI ZwReadFileScatter (_In_ HANDLE FileHandle, _In_opt_ HANDLE Event, _In_opt_ PIO_APC_ROUTINE UserApcRoutine, _In_opt_ PVOID UserApcContext, _Out_ PIO_STATUS_BLOCK UserIoStatusBlock, _In_ FILE_SEGMENT_ELEMENT BufferDescription[], _In_ ULONG BufferLength, _In_ PLARGE_INTEGER ByteOffset, _In_opt_ PULONG Key)
 
NTSYSAPI NTSTATUS NTAPI ZwRemoveIoCompletion (_In_ HANDLE IoCompletionHandle, _Out_ PVOID *CompletionKey, _Out_ PVOID *CompletionContext, _Out_ PIO_STATUS_BLOCK IoStatusBlock, _In_opt_ PLARGE_INTEGER Timeout)
 
_Out_ PIO_STATUS_BLOCK _In_reads_bytes_ (Length) PVOID FileInformation
 
NTSYSAPI NTSTATUS NTAPI ZwSetIoCompletion (_In_ HANDLE IoCompletionPortHandle, _In_ PVOID CompletionKey, _In_ PVOID CompletionContext, _In_ NTSTATUS CompletionStatus, _In_ ULONG CompletionInformation)
 
NTSYSAPI NTSTATUS NTAPI ZwSetQuotaInformationFile (_In_ HANDLE FileHandle, _Out_ PIO_STATUS_BLOCK IoStatusBlock, _In_ PVOID Buffer, _In_ ULONG BufferLength)
 
NTSYSAPI NTSTATUS NTAPI ZwUnloadDriver (_In_ PUNICODE_STRING DriverServiceName)
 
NTSYSAPI NTSTATUS NTAPI ZwUnlockFile (_In_ HANDLE FileHandle, _Out_ PIO_STATUS_BLOCK IoStatusBlock, _In_ PLARGE_INTEGER ByteOffset, _In_ PLARGE_INTEGER Length, _In_opt_ ULONG Key)
 
NTSYSAPI NTSTATUS NTAPI ZwWriteFileGather (_In_ HANDLE FileHandle, _In_opt_ HANDLE Event, _In_opt_ PIO_APC_ROUTINE ApcRoutine, _In_opt_ PVOID ApcContext, _Out_ PIO_STATUS_BLOCK IoStatusBlock, _In_ FILE_SEGMENT_ELEMENT BufferDescription[], _In_ ULONG BufferLength, _In_ PLARGE_INTEGER ByteOffset, _In_opt_ PULONG Key)
 

Variables

_In_ ACCESS_MASK DesiredAccess
 
_In_ ACCESS_MASK _In_ POBJECT_ATTRIBUTES ObjectAttributes
 
_In_ ACCESS_MASK _In_ POBJECT_ATTRIBUTES _Out_ PIO_STATUS_BLOCK IoStatusBlock
 
_In_ ACCESS_MASK _In_ POBJECT_ATTRIBUTES _Out_ PIO_STATUS_BLOCK _In_opt_ PLARGE_INTEGER AllocationSize
 
_In_ ACCESS_MASK _In_ POBJECT_ATTRIBUTES _Out_ PIO_STATUS_BLOCK _In_opt_ PLARGE_INTEGER _In_ ULONG FileAttributes
 
_In_ ACCESS_MASK _In_ POBJECT_ATTRIBUTES _Out_ PIO_STATUS_BLOCK _In_opt_ PLARGE_INTEGER _In_ ULONG _In_ ULONG ShareAccess
 
_In_ ACCESS_MASK _In_ POBJECT_ATTRIBUTES _Out_ PIO_STATUS_BLOCK _In_opt_ PLARGE_INTEGER _In_ ULONG _In_ ULONG _In_ ULONG CreateDisposition
 
_In_ ACCESS_MASK _In_ POBJECT_ATTRIBUTES _Out_ PIO_STATUS_BLOCK _In_opt_ PLARGE_INTEGER _In_ ULONG _In_ ULONG _In_ ULONG _In_ ULONG CreateOptions
 
_In_ ACCESS_MASK _In_ POBJECT_ATTRIBUTES _Out_ PIO_STATUS_BLOCK _In_opt_ PLARGE_INTEGER _In_ ULONG _In_ ULONG _In_ ULONG _In_ ULONG _In_ ULONG EaLength
 
_In_opt_ HANDLE Event
 
_In_opt_ HANDLE _In_opt_ PIO_APC_ROUTINE ApcRoutine
 
_In_opt_ HANDLE _In_opt_ PIO_APC_ROUTINE _In_opt_ PVOID ApcContext
 
_In_opt_ HANDLE _In_opt_ PIO_APC_ROUTINE _In_opt_ PVOID _Out_ PIO_STATUS_BLOCK _In_ ULONG IoControlCode
 
_In_opt_ HANDLE _In_opt_ PIO_APC_ROUTINE _In_opt_ PVOID _Out_ PIO_STATUS_BLOCK _In_ ULONG _In_ ULONG InputBufferLength
 
_In_opt_ HANDLE _In_opt_ PIO_APC_ROUTINE _In_opt_ PVOID _Out_ PIO_STATUS_BLOCK _In_ ULONG _In_ ULONG _In_ ULONG OutputBufferLength
 
_In_opt_ HANDLE _In_opt_ PIO_APC_ROUTINE _In_opt_ PVOID _Out_ PIO_STATUS_BLOCK _In_ ULONG FsControlCode
 
_In_opt_ HANDLE _In_opt_ PIO_APC_ROUTINE _In_opt_ PVOID _Out_ PIO_STATUS_BLOCK _In_ ULONG Length
 
_In_opt_ HANDLE _In_opt_ PIO_APC_ROUTINE _In_opt_ PVOID _Out_ PIO_STATUS_BLOCK _In_ ULONG _In_ FILE_INFORMATION_CLASS FileInformationClass
 
_In_opt_ HANDLE _In_opt_ PIO_APC_ROUTINE _In_opt_ PVOID _Out_ PIO_STATUS_BLOCK _In_ ULONG _In_ FILE_INFORMATION_CLASS _In_ BOOLEAN ReturnSingleEntry
 
_In_opt_ HANDLE _In_opt_ PIO_APC_ROUTINE _In_opt_ PVOID _Out_ PIO_STATUS_BLOCK _In_ ULONG _In_ FILE_INFORMATION_CLASS _In_ BOOLEAN _In_opt_ PUNICODE_STRING FileName
 
_In_opt_ HANDLE _In_opt_ PIO_APC_ROUTINE _In_opt_ PVOID _Out_ PIO_STATUS_BLOCK _In_ ULONG _In_ FILE_INFORMATION_CLASS _In_ BOOLEAN _In_opt_ PUNICODE_STRING _In_ BOOLEAN RestartScan
 
_Out_ PIO_STATUS_BLOCK _In_ ULONG _In_ FS_INFORMATION_CLASS FsInformationClass
 
_In_opt_ HANDLE _In_opt_ PIO_APC_ROUTINE _In_opt_ PVOID _Out_ PIO_STATUS_BLOCK _In_ ULONG _In_opt_ PLARGE_INTEGER ByteOffset
 
_In_opt_ HANDLE _In_opt_ PIO_APC_ROUTINE _In_opt_ PVOID _Out_ PIO_STATUS_BLOCK _In_ ULONG _In_opt_ PLARGE_INTEGER _In_opt_ PULONG Key
 

Function Documentation

◆ _In_reads_bytes_()

_Out_ PIO_STATUS_BLOCK _In_reads_bytes_ ( Length  )

◆ _In_reads_bytes_opt_() [1/2]

◆ _In_reads_bytes_opt_() [2/2]

◆ _IRQL_requires_max_()

_IRQL_requires_max_ ( PASSIVE_LEVEL  )

Definition at line 64 of file Messaging.c.

75 {
76  PFLT_SERVER_PORT_OBJECT PortObject;
78 
79  /* The caller must allow at least one connection */
80  if (MaxConnections == 0)
81  {
83  }
84 
85  /* The request must be for a kernel handle */
86  if (!(ObjectAttributes->Attributes & OBJ_KERNEL_HANDLE))
87  {
89  }
90 
91  /*
92  * Get rundown protection on the target to stop the owner
93  * from unloading whilst this port object is open. It gets
94  * removed in the FltpServerPortClose callback
95  */
97  if (!NT_SUCCESS(Status))
98  {
99  return Status;
100  }
101 
102  /* Create the server port object for this filter */
106  KernelMode,
107  NULL,
108  sizeof(FLT_SERVER_PORT_OBJECT),
109  0,
110  0,
111  (PVOID *)&PortObject);
112  if (NT_SUCCESS(Status))
113  {
114  /* Zero out the struct */
115  RtlZeroMemory(PortObject, sizeof(FLT_SERVER_PORT_OBJECT));
116 
117  /* Increment the ref count on the target filter */
119 
120  /* Setup the filter port object */
121  PortObject->Filter = Filter;
122  PortObject->ConnectNotify = ConnectNotifyCallback;
124  PortObject->MessageNotify = MessageNotifyCallback;
125  PortObject->Cookie = ServerPortCookie;
126  PortObject->MaxConnections = MaxConnections;
127 
128  /* Insert the object */
129  Status = ObInsertObject(PortObject,
130  NULL,
132  0,
133  NULL,
135  if (NT_SUCCESS(Status))
136  {
137  /* Lock the connection list */
139 
140  /* Add the new port object to the connection list and increment the count */
143 
144  /* Unlock the connection list*/
146  }
147  }
148 
149  if (!NT_SUCCESS(Status))
150  {
151  /* Allow the filter to be cleaned up */
153  }
154 
155  return Status;
156 }
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES ObjectAttributes
Definition: conport.c:35
#define STATUS_INVALID_PARAMETER
Definition: udferr_usr.h:135
_Must_inspect_result_ _Outptr_ PFLT_PORT * ServerPort
Definition: fltkernel.h:1873
PFLT_CONNECT_NOTIFY ConnectNotify
Definition: fltmgrint.h:191
VOID FLTAPI FltObjectDereference(_Inout_ PVOID Object)
Definition: Object.c:53
LONG NTSTATUS
Definition: precomp.h:26
#define InsertTailList(ListHead, Entry)
#define OBJ_KERNEL_HANDLE
Definition: winternl.h:231
VOID FASTCALL ExReleaseFastMutex(IN PFAST_MUTEX FastMutex)
Definition: fmutex.c:31
ULONG FltpObjectPointerReference(_In_ PFLT_OBJECT Object)
Definition: Object.c:322
LIST_ENTRY mList
Definition: fltmgrint.h:56
_Must_inspect_result_ _In_opt_ PFLT_FILTER Filter
Definition: fltkernel.h:1802
#define FILE_READ_DATA
Definition: nt_native.h:628
NTSTATUS NTAPI ObCreateObject(IN KPROCESSOR_MODE ProbeMode OPTIONAL, IN POBJECT_TYPE Type, IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL, IN KPROCESSOR_MODE AccessMode, IN OUT PVOID ParseContext OPTIONAL, IN ULONG ObjectSize, IN ULONG PagedPoolCharge OPTIONAL, IN ULONG NonPagedPoolCharge OPTIONAL, OUT PVOID *Object)
Definition: oblife.c:952
Status
Definition: gdiplustypes.h:24
POBJECT_TYPE ServerPortObjectType
Definition: Messaging.c:24
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:32
_Must_inspect_result_ _Outptr_ PFLT_PORT _In_ POBJECT_ATTRIBUTES _In_opt_ PVOID _In_ PFLT_CONNECT_NOTIFY _In_ PFLT_DISCONNECT_NOTIFY DisconnectNotifyCallback
Definition: fltkernel.h:1873
PVOID *typedef PHANDLE
Definition: ntsecpkg.h:454
_Must_inspect_result_ _Outptr_ PFLT_PORT _In_ POBJECT_ATTRIBUTES _In_opt_ PVOID _In_ PFLT_CONNECT_NOTIFY ConnectNotifyCallback
Definition: fltkernel.h:1873
NTSTATUS NTAPI ObInsertObject(IN PVOID Object, IN PACCESS_STATE AccessState OPTIONAL, IN ACCESS_MASK DesiredAccess, IN ULONG ObjectPointerBias, OUT PVOID *NewObject OPTIONAL, OUT PHANDLE Handle)
Definition: obhandle.c:2932
#define STANDARD_RIGHTS_ALL
Definition: nt_native.h:69
VOID FASTCALL ExAcquireFastMutex(IN PFAST_MUTEX FastMutex)
Definition: fmutex.c:23
NTSTATUS FLTAPI FltObjectReference(_Inout_ PVOID Object)
Definition: Object.c:41
_Must_inspect_result_ _Outptr_ PFLT_PORT _In_ POBJECT_ATTRIBUTES _In_opt_ PVOID ServerPortCookie
Definition: fltkernel.h:1873
#define NULL
Definition: types.h:112
FAST_MUTEX mLock
Definition: fltmgrint.h:55
PFLT_MESSAGE_NOTIFY MessageNotify
Definition: fltmgrint.h:193
#define RtlZeroMemory(Destination, Length)
Definition: typedefs.h:262
_Must_inspect_result_ _Outptr_ PFLT_PORT _In_ POBJECT_ATTRIBUTES _In_opt_ PVOID _In_ PFLT_CONNECT_NOTIFY _In_ PFLT_DISCONNECT_NOTIFY _In_opt_ PFLT_MESSAGE_NOTIFY _In_ LONG MaxConnections
Definition: fltkernel.h:1873
PFLT_DISCONNECT_NOTIFY DisconnectNotify
Definition: fltmgrint.h:192
_Must_inspect_result_ _Outptr_ PFLT_PORT _In_ POBJECT_ATTRIBUTES _In_opt_ PVOID _In_ PFLT_CONNECT_NOTIFY _In_ PFLT_DISCONNECT_NOTIFY _In_opt_ PFLT_MESSAGE_NOTIFY MessageNotifyCallback
Definition: fltkernel.h:1873
FLT_MUTEX_LIST_HEAD ConnectionList
Definition: fltmgrint.h:121

◆ _Out_writes_bytes_()

◆ _Out_writes_bytes_opt_()

◆ IoAssignDriveLetters()

VOID FASTCALL IoAssignDriveLetters ( _In_ struct _LOADER_PARAMETER_BLOCK LoaderBlock,
_In_ PSTRING  NtDeviceName,
_Out_ PUCHAR  NtSystemPath,
_Out_ PSTRING  NtSystemPathString 
)

◆ IoCreateDriver()

NTSTATUS NTAPI IoCreateDriver ( _In_opt_ PUNICODE_STRING  DriverName,
_In_ PDRIVER_INITIALIZE  InitializationFunction 
)

Definition at line 1414 of file driver.c.

1417 {
1418  WCHAR NameBuffer[100];
1419  USHORT NameLength;
1420  UNICODE_STRING LocalDriverName;
1421  NTSTATUS Status;
1423  ULONG ObjectSize;
1425  UNICODE_STRING ServiceKeyName;
1426  HANDLE hDriver;
1427  ULONG i, RetryCount = 0;
1428 
1429 try_again:
1430  /* First, create a unique name for the driver if we don't have one */
1431  if (!DriverName)
1432  {
1433  /* Create a random name and set up the string */
1434  NameLength = (USHORT)swprintf(NameBuffer,
1435  DRIVER_ROOT_NAME L"%08u",
1437  LocalDriverName.Length = NameLength * sizeof(WCHAR);
1438  LocalDriverName.MaximumLength = LocalDriverName.Length + sizeof(UNICODE_NULL);
1439  LocalDriverName.Buffer = NameBuffer;
1440  }
1441  else
1442  {
1443  /* So we can avoid another code path, use a local var */
1444  LocalDriverName = *DriverName;
1445  }
1446 
1447  /* Initialize the Attributes */
1448  ObjectSize = sizeof(DRIVER_OBJECT) + sizeof(EXTENDED_DRIVER_EXTENSION);
1450  &LocalDriverName,
1452  NULL,
1453  NULL);
1454 
1455  /* Create the Object */
1459  KernelMode,
1460  NULL,
1461  ObjectSize,
1462  0,
1463  0,
1464  (PVOID*)&DriverObject);
1465  if (!NT_SUCCESS(Status)) return Status;
1466 
1467  DPRINT("IopCreateDriver(): created DO %p\n", DriverObject);
1468 
1469  /* Set up the Object */
1470  RtlZeroMemory(DriverObject, ObjectSize);
1471  DriverObject->Type = IO_TYPE_DRIVER;
1472  DriverObject->Size = sizeof(DRIVER_OBJECT);
1474  DriverObject->DriverExtension = (PDRIVER_EXTENSION)(DriverObject + 1);
1475  DriverObject->DriverExtension->DriverObject = DriverObject;
1476  DriverObject->DriverInit = InitializationFunction;
1477  /* Loop all Major Functions */
1478  for (i = 0; i <= IRP_MJ_MAXIMUM_FUNCTION; i++)
1479  {
1480  /* Invalidate each function */
1481  DriverObject->MajorFunction[i] = IopInvalidDeviceRequest;
1482  }
1483 
1484  /* Set up the service key name buffer */
1485  ServiceKeyName.MaximumLength = LocalDriverName.Length + sizeof(UNICODE_NULL);
1486  ServiceKeyName.Buffer = ExAllocatePoolWithTag(PagedPool, LocalDriverName.MaximumLength, TAG_IO);
1487  if (!ServiceKeyName.Buffer)
1488  {
1489  /* Fail */
1493  }
1494 
1495  /* For builtin drivers, the ServiceKeyName is equal to DriverName */
1496  RtlCopyUnicodeString(&ServiceKeyName, &LocalDriverName);
1497  ServiceKeyName.Buffer[ServiceKeyName.Length / sizeof(WCHAR)] = UNICODE_NULL;
1498  DriverObject->DriverExtension->ServiceKeyName = ServiceKeyName;
1499 
1500  /* Make a copy of the driver name to store in the driver object */
1501  DriverObject->DriverName.MaximumLength = LocalDriverName.Length;
1502  DriverObject->DriverName.Buffer = ExAllocatePoolWithTag(PagedPool,
1503  DriverObject->DriverName.MaximumLength,
1504  TAG_IO);
1505  if (!DriverObject->DriverName.Buffer)
1506  {
1507  /* Fail */
1511  }
1512 
1513  RtlCopyUnicodeString(&DriverObject->DriverName, &LocalDriverName);
1514 
1515  /* Add the Object and get its handle */
1517  NULL,
1519  0,
1520  NULL,
1521  &hDriver);
1522 
1523  /* Eliminate small possibility when this function is called more than
1524  once in a row, and KeTickCount doesn't get enough time to change */
1525  if (!DriverName && (Status == STATUS_OBJECT_NAME_COLLISION) && (RetryCount < 100))
1526  {
1527  RetryCount++;
1528  goto try_again;
1529  }
1530 
1531  if (!NT_SUCCESS(Status)) return Status;
1532 
1533  /* Now reference it */
1535  0,
1537  KernelMode,
1538  (PVOID*)&DriverObject,
1539  NULL);
1540 
1541  /* Close the extra handle */
1542  ZwClose(hDriver);
1543 
1544  if (!NT_SUCCESS(Status))
1545  {
1546  /* Fail */
1549  return Status;
1550  }
1551 
1552  /* Finally, call its init function */
1553  DPRINT("Calling driver entrypoint at %p\n", InitializationFunction);
1554  Status = (*InitializationFunction)(DriverObject, NULL);
1555  if (!NT_SUCCESS(Status))
1556  {
1557  /* If it didn't work, then kill the object */
1558  DPRINT1("'%wZ' initialization failed, status (0x%08lx)\n", DriverName, Status);
1561  return Status;
1562  }
1563 
1564  // Windows does this fixup - keep it for compatibility
1565  for (i = 0; i <= IRP_MJ_MAXIMUM_FUNCTION; i++)
1566  {
1567  /*
1568  * Make sure the driver didn't set any dispatch entry point to NULL!
1569  * Doing so is illegal; drivers shouldn't touch entry points they
1570  * do not implement.
1571  */
1572 
1573  /* Check if it did so anyway */
1574  if (!DriverObject->MajorFunction[i])
1575  {
1576  /* Print a warning in the debug log */
1577  DPRINT1("Driver <%wZ> set DriverObject->MajorFunction[%lu] to NULL!\n",
1578  &DriverObject->DriverName, i);
1579 
1580  /* Fix it up */
1581  DriverObject->MajorFunction[i] = IopInvalidDeviceRequest;
1582  }
1583  }
1584 
1585  /* Return the Status */
1586  return Status;
1587 }
#define STATUS_OBJECT_NAME_COLLISION
Definition: udferr_usr.h:150
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES ObjectAttributes
Definition: conport.c:35
ULONG LowPart
Definition: ketypes.h:917
#define DRVO_BUILTIN_DRIVER
Definition: iotypes.h:2224
#define STATUS_INSUFFICIENT_RESOURCES
Definition: udferr_usr.h:158
#define TAG_IO
Definition: tag.h:69
#define OBJ_CASE_INSENSITIVE
Definition: winternl.h:228
USHORT MaximumLength
Definition: env_spec_w32.h:370
NTSYSAPI NTSTATUS NTAPI ZwClose(_In_ HANDLE Handle)
#define IRP_MJ_MAXIMUM_FUNCTION
LONG NTSTATUS
Definition: precomp.h:26
_In_ LPWSTR _In_ ULONG _In_ ULONG _In_ ULONG _Out_ DEVINFO _In_ HDEV _In_ LPWSTR _In_ HANDLE hDriver
Definition: winddi.h:3553
POBJECT_TYPE IoDriverObjectType
Definition: driver.c:33
#define swprintf
Definition: precomp.h:40
NTSTATUS NTAPI IopInvalidDeviceRequest(PDEVICE_OBJECT DeviceObject, PIRP Irp)
Definition: driver.c:67
#define OBJ_KERNEL_HANDLE
Definition: winternl.h:231
NTSYSAPI VOID NTAPI RtlCopyUnicodeString(PUNICODE_STRING DestinationString, PUNICODE_STRING SourceString)
NTSTATUS NTAPI ObReferenceObjectByHandle(IN HANDLE Handle, IN ACCESS_MASK DesiredAccess, IN POBJECT_TYPE ObjectType, IN KPROCESSOR_MODE AccessMode, OUT PVOID *Object, OUT POBJECT_HANDLE_INFORMATION HandleInformation OPTIONAL)
Definition: obref.c:496
#define UNICODE_NULL
#define FILE_READ_DATA
Definition: nt_native.h:628
void DPRINT(...)
Definition: polytest.cpp:61
_Must_inspect_result_ _In_ PDRIVER_OBJECT DriverObject
Definition: wdfdriver.h:213
NTSTATUS NTAPI ObCreateObject(IN KPROCESSOR_MODE ProbeMode OPTIONAL, IN POBJECT_TYPE Type, IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL, IN KPROCESSOR_MODE AccessMode, IN OUT PVOID ParseContext OPTIONAL, IN ULONG ObjectSize, IN ULONG PagedPoolCharge OPTIONAL, IN ULONG NonPagedPoolCharge OPTIONAL, OUT PVOID *Object)
Definition: oblife.c:952
Status
Definition: gdiplustypes.h:24
__wchar_t WCHAR
Definition: xmlstorage.h:180
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:32
#define ObDereferenceObject
Definition: obfuncs.h:203
#define ExAllocatePoolWithTag(hernya, size, tag)
Definition: env_spec_w32.h:350
static const WCHAR L[]
Definition: oid.c:1250
NTKERNELAPI volatile KSYSTEM_TIME KeTickCount
Definition: clock.c:19
#define OBJ_PERMANENT
Definition: winternl.h:226
struct _DRIVER_OBJECT DRIVER_OBJECT
NTSTATUS NTAPI ObInsertObject(IN PVOID Object, IN PACCESS_STATE AccessState OPTIONAL, IN ACCESS_MASK DesiredAccess, IN ULONG ObjectPointerBias, OUT PVOID *NewObject OPTIONAL, OUT PHANDLE Handle)
Definition: obhandle.c:2932
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
unsigned short USHORT
Definition: pedump.c:61
struct _DRIVER_EXTENSION * PDRIVER_EXTENSION
#define NULL
Definition: types.h:112
#define IO_TYPE_DRIVER
#define DPRINT1
Definition: precomp.h:8
unsigned int ULONG
Definition: retypes.h:1
#define RtlZeroMemory(Destination, Length)
Definition: typedefs.h:262
#define InitializeObjectAttributes(p, n, a, r, s)
Definition: reg.c:106
PDRIVER_INITIALIZE DriverInit
Definition: iotypes.h:2283
#define DRIVER_ROOT_NAME
Definition: ldr.h:5
VOID NTAPI ObMakeTemporaryObject(IN PVOID ObjectBody)
Definition: oblife.c:1361

Referenced by HaliInitPnpDriver(), IopInitializeBootDrivers(), IopInitializePlugPlayServices(), and WmiInitialize().

◆ IoReportHalResourceUsage()

NTSTATUS NTAPI IoReportHalResourceUsage ( _In_ PUNICODE_STRING  HalName,
_In_ PCM_RESOURCE_LIST  RawResourceList,
_In_ PCM_RESOURCE_LIST  TranslatedResourceList,
_In_ ULONG  ResourceListSize 
)

◆ IoSynchronousInvalidateDeviceRelations()

NTSTATUS NTAPI IoSynchronousInvalidateDeviceRelations ( _In_ PDEVICE_OBJECT  DeviceObject,
_In_ DEVICE_RELATION_TYPE  Type 
)

◆ NtAddBootEntry()

NTSYSCALLAPI NTSTATUS NTAPI NtAddBootEntry ( _In_ PBOOT_ENTRY  BootEntry,
_In_ ULONG  Id 
)

◆ NtAddDriverEntry()

NTSYSCALLAPI NTSTATUS NTAPI NtAddDriverEntry ( _In_ PEFI_DRIVER_ENTRY  BootEntry,
_In_ ULONG  Id 
)

◆ NtCancelIoFile()

NTSYSCALLAPI NTSTATUS NTAPI NtCancelIoFile ( _In_ HANDLE  FileHandle,
_Out_ PIO_STATUS_BLOCK  IoStatusBlock 
)

◆ NtCreateFile()

__kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtCreateFile ( _Out_ PHANDLE  FileHandle,
_In_ ACCESS_MASK  DesiredAccess,
_In_ POBJECT_ATTRIBUTES  ObjectAttributes,
_Out_ PIO_STATUS_BLOCK  IoStatusBlock,
_In_opt_ PLARGE_INTEGER  AllocationSize,
_In_ ULONG  FileAttributes,
_In_ ULONG  ShareAccess,
_In_ ULONG  CreateDisposition,
_In_ ULONG  CreateOptions,
_In_reads_bytes_opt_(EaLength) PVOID  EaBuffer,
_In_ ULONG  EaLength 
)

◆ NtCreateIoCompletion()

NTSYSCALLAPI NTSTATUS NTAPI NtCreateIoCompletion ( _Out_ PHANDLE  IoCompletionHandle,
_In_ ACCESS_MASK  DesiredAccess,
_In_opt_ POBJECT_ATTRIBUTES  ObjectAttributes,
_In_ ULONG  NumberOfConcurrentThreads 
)

◆ NtCreateMailslotFile()

NTSYSCALLAPI NTSTATUS NTAPI NtCreateMailslotFile ( _Out_ PHANDLE  MailSlotFileHandle,
_In_ ACCESS_MASK  DesiredAccess,
_In_ POBJECT_ATTRIBUTES  ObjectAttributes,
_Out_ PIO_STATUS_BLOCK  IoStatusBlock,
_In_ ULONG  FileAttributes,
_In_ ULONG  ShareAccess,
_In_ ULONG  MaxMessageSize,
_In_ PLARGE_INTEGER  TimeOut 
)

◆ NtCreateNamedPipeFile()

NTSYSCALLAPI NTSTATUS NTAPI NtCreateNamedPipeFile ( _Out_ PHANDLE  NamedPipeFileHandle,
_In_ ACCESS_MASK  DesiredAccess,
_In_ POBJECT_ATTRIBUTES  ObjectAttributes,
_Out_ PIO_STATUS_BLOCK  IoStatusBlock,
_In_ ULONG  ShareAccess,
_In_ ULONG  CreateDisposition,
_In_ ULONG  CreateOptions,
_In_ ULONG  WriteModeMessage,
_In_ ULONG  ReadModeMessage,
_In_ ULONG  NonBlocking,
_In_ ULONG  MaxInstances,
_In_ ULONG  InBufferSize,
_In_ ULONG  OutBufferSize,
_In_ PLARGE_INTEGER  DefaultTimeOut 
)

◆ NtDeleteBootEntry()

NTSYSCALLAPI NTSTATUS NTAPI NtDeleteBootEntry ( _In_ ULONG  Id)

◆ NtDeleteDriverEntry()

NTSYSCALLAPI NTSTATUS NTAPI NtDeleteDriverEntry ( _In_ ULONG  Id)

◆ NtDeleteFile()

NTSYSCALLAPI NTSTATUS NTAPI NtDeleteFile ( _In_ POBJECT_ATTRIBUTES  ObjectAttributes)

◆ NtDeviceIoControlFile()

__kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtDeviceIoControlFile ( _In_ HANDLE  FileHandle,
_In_opt_ HANDLE  Event,
_In_opt_ PIO_APC_ROUTINE  ApcRoutine,
_In_opt_ PVOID  ApcContext,
_Out_ PIO_STATUS_BLOCK  IoStatusBlock,
_In_ ULONG  IoControlCode,
_In_reads_bytes_opt_(InputBufferLength) PVOID  InputBuffer,
_In_ ULONG  InputBufferLength,
_Out_writes_bytes_opt_(OutputBufferLength) PVOID  OutputBuffer,
_In_ ULONG  OutputBufferLength 
)

◆ NtEnumerateBootEntries()

NTSYSCALLAPI NTSTATUS NTAPI NtEnumerateBootEntries ( _In_ PVOID  Buffer,
_In_ PULONG  BufferLength 
)

◆ NtEnumerateDriverEntries()

NTSYSCALLAPI NTSTATUS NTAPI NtEnumerateDriverEntries ( _In_ PVOID  Buffer,
_In_ PULONG  BufferLength 
)

◆ NtFlushBuffersFile()

NTSYSCALLAPI NTSTATUS NTAPI NtFlushBuffersFile ( _In_ HANDLE  FileHandle,
_Out_ PIO_STATUS_BLOCK  IoStatusBlock 
)

◆ NtFlushWriteBuffer()

NTSYSCALLAPI NTSTATUS NTAPI NtFlushWriteBuffer ( VOID  )

Definition at line 3937 of file file.c.

3938 {
3939  PAGED_CODE();
3940 
3941  /* Call the kernel */
3943  return STATUS_SUCCESS;
3944 }
VOID NTAPI KeFlushWriteBuffer(VOID)
Definition: misc.c:39
#define STATUS_SUCCESS
Definition: shellext.h:65
#define PAGED_CODE()

◆ NtFsControlFile()

__kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtFsControlFile ( _In_ HANDLE  FileHandle,
_In_opt_ HANDLE  Event,
_In_opt_ PIO_APC_ROUTINE  ApcRoutine,
_In_opt_ PVOID  ApcContext,
_Out_ PIO_STATUS_BLOCK  IoStatusBlock,
_In_ ULONG  FsControlCode,
_In_reads_bytes_opt_(InputBufferLength) PVOID  InputBuffer,
_In_ ULONG  InputBufferLength,
_Out_writes_bytes_opt_(OutputBufferLength) PVOID  OutputBuffer,
_In_ ULONG  OutputBufferLength 
)

◆ NtLoadDriver()

NTSYSCALLAPI NTSTATUS NTAPI NtLoadDriver ( _In_ PUNICODE_STRING  DriverServiceName)

◆ NtLockFile()

NTSYSCALLAPI NTSTATUS NTAPI NtLockFile ( _In_ HANDLE  FileHandle,
_In_opt_ HANDLE  Event,
_In_opt_ PIO_APC_ROUTINE  ApcRoutine,
_In_opt_ PVOID  ApcContext,
_Out_ PIO_STATUS_BLOCK  IoStatusBlock,
_In_ PLARGE_INTEGER  ByteOffset,
_In_ PLARGE_INTEGER  Length,
_In_ ULONG  Key,
_In_ BOOLEAN  FailImmediatedly,
_In_ BOOLEAN  ExclusiveLock 
)

◆ NtModifyBootEntry()

NTSYSCALLAPI NTSTATUS NTAPI NtModifyBootEntry ( _In_ PBOOT_ENTRY  BootEntry)

◆ NtModifyDriverEntry()

NTSYSCALLAPI NTSTATUS NTAPI NtModifyDriverEntry ( _In_ PEFI_DRIVER_ENTRY  DriverEntry)

◆ NtNotifyChangeDirectoryFile()

NTSYSCALLAPI NTSTATUS NTAPI NtNotifyChangeDirectoryFile ( _In_ HANDLE  FileHandle,
_In_opt_ HANDLE  Event,
_In_opt_ PIO_APC_ROUTINE  ApcRoutine,
_In_opt_ PVOID  ApcContext,
_Out_ PIO_STATUS_BLOCK  IoStatusBlock,
_Out_ PVOID  Buffer,
_In_ ULONG  BufferSize,
_In_ ULONG  CompletionFilter,
_In_ BOOLEAN  WatchTree 
)

◆ NtOpenFile()

NTSYSCALLAPI NTSTATUS NTAPI NtOpenFile ( _Out_ PHANDLE  FileHandle,
_In_ ACCESS_MASK  DesiredAccess,
_In_ POBJECT_ATTRIBUTES  ObjectAttributes,
_Out_ PIO_STATUS_BLOCK  IoStatusBlock,
_In_ ULONG  ShareAccess,
_In_ ULONG  OpenOptions 
)

◆ NtOpenIoCompletion()

NTSYSCALLAPI NTSTATUS NTAPI NtOpenIoCompletion ( _Out_ PHANDLE  CompetionPort,
_In_ ACCESS_MASK  DesiredAccess,
_In_ POBJECT_ATTRIBUTES  ObjectAttributes 
)

◆ NtQueryAttributesFile()

NTSYSCALLAPI NTSTATUS NTAPI NtQueryAttributesFile ( _In_ POBJECT_ATTRIBUTES  ObjectAttributes,
_Out_ PFILE_BASIC_INFORMATION  FileInformation 
)

◆ NtQueryBootEntryOrder()

NTSYSCALLAPI NTSTATUS NTAPI NtQueryBootEntryOrder ( _In_ PULONG  Ids,
_In_ PULONG  Count 
)

◆ NtQueryBootOptions()

NTSYSCALLAPI NTSTATUS NTAPI NtQueryBootOptions ( _In_ PBOOT_OPTIONS  BootOptions,
_In_ PULONG  BootOptionsLength 
)

◆ NtQueryDirectoryFile()

__kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtQueryDirectoryFile ( _In_ HANDLE  FileHandle,
_In_opt_ HANDLE  Event,
_In_opt_ PIO_APC_ROUTINE  ApcRoutine,
_In_opt_ PVOID  ApcContext,
_Out_ PIO_STATUS_BLOCK  IoStatusBlock,
_Out_writes_bytes_(Length) PVOID  FileInformation,
_In_ ULONG  Length,
_In_ FILE_INFORMATION_CLASS  FileInformationClass,
_In_ BOOLEAN  ReturnSingleEntry,
_In_opt_ PUNICODE_STRING  FileName,
_In_ BOOLEAN  RestartScan 
)

◆ NtQueryDriverEntryOrder()

NTSTATUS NTAPI NtQueryDriverEntryOrder ( _In_ PULONG  Ids,
_In_ PULONG  Count 
)

◆ NtQueryEaFile()

NTSYSCALLAPI NTSTATUS NTAPI NtQueryEaFile ( _In_ HANDLE  FileHandle,
_Out_ PIO_STATUS_BLOCK  IoStatusBlock,
_Out_ PVOID  Buffer,
_In_ ULONG  Length,
_In_ BOOLEAN  ReturnSingleEntry,
_In_opt_ PVOID  EaList,
_In_ ULONG  EaListLength,
_In_opt_ PULONG  EaIndex,
_In_ BOOLEAN  RestartScan 
)

◆ NtQueryFullAttributesFile()

NTSYSCALLAPI NTSTATUS NTAPI NtQueryFullAttributesFile ( _In_ POBJECT_ATTRIBUTES  ObjectAttributes,
_Out_ PFILE_NETWORK_OPEN_INFORMATION  FileInformation 
)

◆ NtQueryInformationFile()

__kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtQueryInformationFile ( _In_ HANDLE  FileHandle,
_Out_ PIO_STATUS_BLOCK  IoStatusBlock,
_Out_writes_bytes_(Length) PVOID  FileInformation,
_In_ ULONG  Length,
_In_ FILE_INFORMATION_CLASS  FileInformationClass 
)

◆ NtQueryIoCompletion()

NTSYSCALLAPI NTSTATUS NTAPI NtQueryIoCompletion ( _In_ HANDLE  IoCompletionHandle,
_In_ IO_COMPLETION_INFORMATION_CLASS  IoCompletionInformationClass,
_Out_ PVOID  IoCompletionInformation,
_In_ ULONG  IoCompletionInformationLength,
_Out_opt_ PULONG  ResultLength 
)

◆ NtQueryQuotaInformationFile()

__kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtQueryQuotaInformationFile ( _In_ HANDLE  FileHandle,
_Out_ PIO_STATUS_BLOCK  IoStatusBlock,
_Out_writes_bytes_(Length) PVOID  Buffer,
_In_ ULONG  Length,
_In_ BOOLEAN  ReturnSingleEntry,
_In_reads_bytes_opt_(SidListLength) PVOID  SidList,
_In_ ULONG  SidListLength,
_In_reads_bytes_opt_((8+(4 *((SID *) StartSid) ->SubAuthorityCount))) PSID  StartSid,
_In_ BOOLEAN  RestartScan 
)

◆ NtQueryVolumeInformationFile()

__kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtQueryVolumeInformationFile ( _In_ HANDLE  FileHandle,
_Out_ PIO_STATUS_BLOCK  IoStatusBlock,
_Out_writes_bytes_(Length) PVOID  FsInformation,
_In_ ULONG  Length,
_In_ FS_INFORMATION_CLASS  FsInformationClass 
)

◆ NtReadFile()

__kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtReadFile ( _In_ HANDLE  FileHandle,
_In_opt_ HANDLE  Event,
_In_opt_ PIO_APC_ROUTINE  ApcRoutine,
_In_opt_ PVOID  ApcContext,
_Out_ PIO_STATUS_BLOCK  IoStatusBlock,
_Out_writes_bytes_(Length) PVOID  Buffer,
_In_ ULONG  Length,
_In_opt_ PLARGE_INTEGER  ByteOffset,
_In_opt_ PULONG  Key 
)

◆ NtReadFileScatter()

NTSYSCALLAPI NTSTATUS NTAPI NtReadFileScatter ( _In_ HANDLE  FileHandle,
_In_opt_ HANDLE  Event,
_In_opt_ PIO_APC_ROUTINE  UserApcRoutine,
_In_opt_ PVOID  UserApcContext,
_Out_ PIO_STATUS_BLOCK  UserIoStatusBlock,
_In_ FILE_SEGMENT_ELEMENT  BufferDescription[],
_In_ ULONG  BufferLength,
_In_ PLARGE_INTEGER  ByteOffset,
_In_opt_ PULONG  Key 
)

◆ NtRemoveIoCompletion()

NTSYSCALLAPI NTSTATUS NTAPI NtRemoveIoCompletion ( _In_ HANDLE  IoCompletionHandle,
_Out_ PVOID CompletionKey,
_Out_ PVOID CompletionContext,
_Out_ PIO_STATUS_BLOCK  IoStatusBlock,
_In_opt_ PLARGE_INTEGER  Timeout 
)

◆ NtSetBootEntryOrder()

NTSYSCALLAPI NTSTATUS NTAPI NtSetBootEntryOrder ( _In_ PULONG  Ids,
_In_ PULONG  Count 
)

◆ NtSetBootOptions()

NTSYSCALLAPI NTSTATUS NTAPI NtSetBootOptions ( _In_ PBOOT_OPTIONS  BootOptions,
_In_ ULONG  FieldsToChange 
)

◆ NtSetDriverEntryOrder()

NTSTATUS NTAPI NtSetDriverEntryOrder ( _In_ PULONG  Ids,
_In_ PULONG  Count 
)

◆ NtSetEaFile()

NTSYSCALLAPI NTSTATUS NTAPI NtSetEaFile ( _In_ HANDLE  FileHandle,
_In_ PIO_STATUS_BLOCK  IoStatusBlock,
PVOID  EaBuffer,
ULONG  EaBufferSize 
)

◆ NtSetInformationFile()

__kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtSetInformationFile ( _In_ HANDLE  FileHandle,
_Out_ PIO_STATUS_BLOCK  IoStatusBlock,
_In_reads_bytes_(Length) PVOID  FileInformation,
_In_ ULONG  Length,
_In_ FILE_INFORMATION_CLASS  FileInformationClass 
)

◆ NtSetIoCompletion()

NTSYSCALLAPI NTSTATUS NTAPI NtSetIoCompletion ( _In_ HANDLE  IoCompletionPortHandle,
_In_ PVOID  CompletionKey,
_In_ PVOID  CompletionContext,
_In_ NTSTATUS  CompletionStatus,
_In_ ULONG  CompletionInformation 
)

◆ NtSetQuotaInformationFile()

NTSYSCALLAPI NTSTATUS NTAPI NtSetQuotaInformationFile ( HANDLE  FileHandle,
PIO_STATUS_BLOCK  IoStatusBlock,
PVOID  Buffer,
ULONG  BufferLength 
)

◆ NtSetVolumeInformationFile()

__kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtSetVolumeInformationFile ( _In_ HANDLE  FileHandle,
_Out_ PIO_STATUS_BLOCK  IoStatusBlock,
_In_reads_bytes_(Length) PVOID  FsInformation,
_In_ ULONG  Length,
_In_ FS_INFORMATION_CLASS  FsInformationClass 
)

◆ NtTranslateFilePath()

NTSYSCALLAPI NTSTATUS NTAPI NtTranslateFilePath ( PFILE_PATH  InputFilePath,
ULONG  OutputType,
PFILE_PATH  OutputFilePath,
ULONG  OutputFilePathLength 
)

Definition at line 141 of file efi.c.

145 {
147  return STATUS_NOT_IMPLEMENTED;
148 }
return STATUS_NOT_IMPLEMENTED
#define UNIMPLEMENTED
Definition: debug.h:115

◆ NtUnloadDriver()

NTSYSCALLAPI NTSTATUS NTAPI NtUnloadDriver ( _In_ PUNICODE_STRING  DriverServiceName)

◆ NtUnlockFile()

__kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtUnlockFile ( _In_ HANDLE  FileHandle,
_Out_ PIO_STATUS_BLOCK  IoStatusBlock,
_In_ PLARGE_INTEGER  ByteOffset,
_In_ PLARGE_INTEGER  Length,
_In_ ULONG  Key 
)

◆ NtWriteFile()

__kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtWriteFile ( _In_ HANDLE  FileHandle,
_In_opt_ HANDLE  Event,
_In_opt_ PIO_APC_ROUTINE  ApcRoutine,
_In_opt_ PVOID  ApcContext,
_Out_ PIO_STATUS_BLOCK  IoStatusBlock,
_In_reads_bytes_(Length) PVOID  Buffer,
_In_ ULONG  Length,
_In_opt_ PLARGE_INTEGER  ByteOffset,
_In_opt_ PULONG  Key 
)

◆ NtWriteFileGather()

NTSYSCALLAPI NTSTATUS NTAPI NtWriteFileGather ( _In_ HANDLE  FileHandle,
_In_opt_ HANDLE  Event,
_In_opt_ PIO_APC_ROUTINE  ApcRoutine,
_In_opt_ PVOID  ApcContext,
_Out_ PIO_STATUS_BLOCK  IoStatusBlock,
_In_ FILE_SEGMENT_ELEMENT  BufferDescription[],
_In_ ULONG  BufferLength,
_In_ PLARGE_INTEGER  ByteOffset,
_In_opt_ PULONG  Key 
)

◆ ZwAddBootEntry()

NTSYSAPI NTSTATUS NTAPI ZwAddBootEntry ( _In_ PUNICODE_STRING  EntryName,
_In_ PUNICODE_STRING  EntryValue 
)

◆ ZwCancelIoFile()

NTSYSAPI NTSTATUS NTAPI ZwCancelIoFile ( _In_ HANDLE  FileHandle,
_Out_ PIO_STATUS_BLOCK  IoStatusBlock 
)

Referenced by RawInputThreadMain().

◆ ZwCreateIoCompletion()

NTSYSAPI NTSTATUS NTAPI ZwCreateIoCompletion ( _Out_ PHANDLE  IoCompletionHandle,
_In_ ACCESS_MASK  DesiredAccess,
_In_opt_ POBJECT_ATTRIBUTES  ObjectAttributes,
_In_ ULONG  NumberOfConcurrentThreads 
)

◆ ZwCreateMailslotFile()

NTSYSAPI NTSTATUS NTAPI ZwCreateMailslotFile ( _Out_ PHANDLE  MailSlotFileHandle,
_In_ ACCESS_MASK  DesiredAccess,
_In_ POBJECT_ATTRIBUTES  ObjectAttributes,
_Out_ PIO_STATUS_BLOCK  IoStatusBlock,
_In_ ULONG  FileAttributes,
_In_ ULONG  ShareAccess,
_In_ ULONG  MaxMessageSize,
_In_ PLARGE_INTEGER  TimeOut 
)

◆ ZwCreateNamedPipeFile()

NTSYSAPI NTSTATUS NTAPI ZwCreateNamedPipeFile ( _Out_ PHANDLE  NamedPipeFileHandle,
_In_ ACCESS_MASK  DesiredAccess,
_In_ POBJECT_ATTRIBUTES  ObjectAttributes,
_Out_ PIO_STATUS_BLOCK  IoStatusBlock,
_In_ ULONG  ShareAccess,
_In_ ULONG  CreateDisposition,
_In_ ULONG  CreateOptions,
_In_ ULONG  WriteModeMessage,
_In_ ULONG  ReadModeMessage,
_In_ ULONG  NonBlocking,
_In_ ULONG  MaxInstances,
_In_ ULONG  InBufferSize,
_In_ ULONG  OutBufferSize,
_In_ PLARGE_INTEGER  DefaultTimeOut 
)

◆ ZwDeleteBootEntry()

NTSYSAPI NTSTATUS NTAPI ZwDeleteBootEntry ( _In_ PUNICODE_STRING  EntryName,
_In_ PUNICODE_STRING  EntryValue 
)

◆ ZwDeleteFile()

NTSYSAPI NTSTATUS NTAPI ZwDeleteFile ( _In_ POBJECT_ATTRIBUTES  ObjectAttributes)

Referenced by START_TEST().

◆ ZwFlushWriteBuffer()

NTSYSAPI NTSTATUS NTAPI ZwFlushWriteBuffer ( VOID  )

◆ ZwLockFile()

NTSYSAPI NTSTATUS NTAPI ZwLockFile ( _In_ HANDLE  FileHandle,
_In_opt_ HANDLE  Event,
_In_opt_ PIO_APC_ROUTINE  ApcRoutine,
_In_opt_ PVOID  ApcContext,
_Out_ PIO_STATUS_BLOCK  IoStatusBlock,
_In_ PLARGE_INTEGER  ByteOffset,
_In_ PLARGE_INTEGER  Length,
_In_ ULONG  Key,
_In_ BOOLEAN  FailImmediatedly,
_In_ BOOLEAN  ExclusiveLock 
)

◆ ZwNotifyChangeDirectoryFile()

NTSYSAPI NTSTATUS NTAPI ZwNotifyChangeDirectoryFile ( _In_ HANDLE  FileHandle,
_In_opt_ HANDLE  Event,
_In_opt_ PIO_APC_ROUTINE  ApcRoutine,
_In_opt_ PVOID  ApcContext,
_Out_ PIO_STATUS_BLOCK  IoStatusBlock,
_Out_ PVOID  Buffer,
_In_ ULONG  BufferSize,
_In_ ULONG  CompletionFilter,
_In_ BOOLEAN  WatchTree 
)

◆ ZwOpenFile()

◆ ZwOpenIoCompletion()

NTSYSAPI NTSTATUS NTAPI ZwOpenIoCompletion ( _Out_ PHANDLE  CompetionPort,
_In_ ACCESS_MASK  DesiredAccess,
_In_ POBJECT_ATTRIBUTES  ObjectAttributes 
)

◆ ZwQueryAttributesFile()

NTSYSAPI NTSTATUS NTAPI ZwQueryAttributesFile ( _In_ POBJECT_ATTRIBUTES  ObjectAttributes,
_Out_ PFILE_BASIC_INFORMATION  FileInformation 
)

◆ ZwQueryFullAttributesFile()

NTSYSAPI NTSTATUS NTAPI ZwQueryFullAttributesFile ( _In_ POBJECT_ATTRIBUTES  ObjectAttributes,
_Out_ PFILE_NETWORK_OPEN_INFORMATION  FileInformation 
)

◆ ZwQueryIoCompletion()

NTSYSAPI NTSTATUS NTAPI ZwQueryIoCompletion ( _In_ HANDLE  IoCompletionHandle,
_In_ IO_COMPLETION_INFORMATION_CLASS  IoCompletionInformationClass,
_Out_ PVOID  IoCompletionInformation,
_In_ ULONG  IoCompletionInformationLength,
_Out_opt_ PULONG  ResultLength 
)

◆ ZwQueryQuotaInformationFile()

NTSYSAPI NTSTATUS NTAPI ZwQueryQuotaInformationFile ( _In_ HANDLE  FileHandle,
_Out_ PIO_STATUS_BLOCK  IoStatusBlock,
_Out_ PVOID  Buffer,
_In_ ULONG  Length,
_In_ BOOLEAN  ReturnSingleEntry,
_In_opt_ PVOID  SidList,
_In_ ULONG  SidListLength,
_In_opt_ PSID  StartSid,
_In_ BOOLEAN  RestartScan 
)

◆ ZwReadFileScatter()

NTSYSAPI NTSTATUS NTAPI ZwReadFileScatter ( _In_ HANDLE  FileHandle,
_In_opt_ HANDLE  Event,
_In_opt_ PIO_APC_ROUTINE  UserApcRoutine,
_In_opt_ PVOID  UserApcContext,
_Out_ PIO_STATUS_BLOCK  UserIoStatusBlock,
_In_ FILE_SEGMENT_ELEMENT  BufferDescription[],
_In_ ULONG  BufferLength,
_In_ PLARGE_INTEGER  ByteOffset,
_In_opt_ PULONG  Key 
)

◆ ZwRemoveIoCompletion()

NTSYSAPI NTSTATUS NTAPI ZwRemoveIoCompletion ( _In_ HANDLE  IoCompletionHandle,
_Out_ PVOID CompletionKey,
_Out_ PVOID CompletionContext,
_Out_ PIO_STATUS_BLOCK  IoStatusBlock,
_In_opt_ PLARGE_INTEGER  Timeout 
)

◆ ZwSetIoCompletion()

NTSYSAPI NTSTATUS NTAPI ZwSetIoCompletion ( _In_ HANDLE  IoCompletionPortHandle,
_In_ PVOID  CompletionKey,
_In_ PVOID  CompletionContext,
_In_ NTSTATUS  CompletionStatus,
_In_ ULONG  CompletionInformation 
)

◆ ZwSetQuotaInformationFile()

NTSYSAPI NTSTATUS NTAPI ZwSetQuotaInformationFile ( _In_ HANDLE  FileHandle,
_Out_ PIO_STATUS_BLOCK  IoStatusBlock,
_In_ PVOID  Buffer,
_In_ ULONG  BufferLength 
)

◆ ZwUnloadDriver()

NTSYSAPI NTSTATUS NTAPI ZwUnloadDriver ( _In_ PUNICODE_STRING  DriverServiceName)

Referenced by FltUnloadFilter(), and TestZwUnload().

◆ ZwUnlockFile()

NTSYSAPI NTSTATUS NTAPI ZwUnlockFile ( _In_ HANDLE  FileHandle,
_Out_ PIO_STATUS_BLOCK  IoStatusBlock,
_In_ PLARGE_INTEGER  ByteOffset,
_In_ PLARGE_INTEGER  Length,
_In_opt_ ULONG  Key 
)

◆ ZwWriteFileGather()

NTSYSAPI NTSTATUS NTAPI ZwWriteFileGather ( _In_ HANDLE  FileHandle,
_In_opt_ HANDLE  Event,
_In_opt_ PIO_APC_ROUTINE  ApcRoutine,
_In_opt_ PVOID  ApcContext,
_Out_ PIO_STATUS_BLOCK  IoStatusBlock,
_In_ FILE_SEGMENT_ELEMENT  BufferDescription[],
_In_ ULONG  BufferLength,
_In_ PLARGE_INTEGER  ByteOffset,
_In_opt_ PULONG  Key 
)

Variable Documentation

◆ AllocationSize

◆ ApcContext

◆ ApcRoutine

◆ ByteOffset

◆ CreateDisposition

◆ CreateOptions

◆ DesiredAccess

Definition at line 642 of file iofuncs.h.

◆ EaLength

◆ Event

Definition at line 719 of file iofuncs.h.

◆ FileAttributes

◆ FileInformationClass

Definition at line 841 of file iofuncs.h.

◆ FileName

◆ FsControlCode

◆ FsInformationClass

Definition at line 919 of file iofuncs.h.

◆ InputBufferLength

◆ IoControlCode

◆ IoStatusBlock

◆ Key

◆ Length

◆ ObjectAttributes

Definition at line 642 of file iofuncs.h.

◆ OutputBufferLength

◆ RestartScan

◆ ReturnSingleEntry

◆ ShareAccess