ReactOS 0.4.15-dev-7788-g1ad9096
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)
 
VOID NTAPI IoDeleteDriver (_In_ PDRIVER_OBJECT DriverObject)
 
NTSTATUS NTAPI IoReportHalResourceUsage (_In_ PUNICODE_STRING HalName, _In_ PCM_RESOURCE_LIST RawResourceList, _In_ PCM_RESOURCE_LIST TranslatedResourceList, _In_ ULONG ResourceListSize)
 Reports hardware resources of the HAL in the \Registry\Machine\Hardware\ResourceMap tree.
 
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
 Queries information details about a security descriptor.
 
_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  )

Queries information details about a security descriptor.

Computes the quota size of a security descriptor.

Assigns a security descriptor for a new object.

An extended function that assigns a security descriptor for a new object.

Frees a security descriptor.

An extended function that sets new information data to a security descriptor.

Modifies some information data about a security descriptor.

Parameters
[in]SecurityInformationSecurity information details to be queried from a security descriptor.
[out]SecurityDescriptorThe returned security descriptor with security information data.
[in,out]LengthThe returned length of a security descriptor.
[in,out]ObjectsSecurityDescriptorThe returned object security descriptor.
Returns
Returns STATUS_SUCCESS if the operations have been completed successfully and that the specific information about the security descriptor has been queried. STATUS_BUFFER_TOO_SMALL is returned if the buffer size is too small to contain the queried info about the security descriptor.
Parameters
[in]ObjectIf specified, the function will use this arbitrary object that points to an object security descriptor.
[in]SecurityInformationSecurity information details to be set.
[in]SecurityDescriptorA security descriptor where its info is to be changed.
[in,out]ObjectsSecurityDescriptorThe returned pointer to security descriptor objects.
[in]PoolTypePool type for the new security descriptor to allocate.
[in]GenericMappingThe generic mapping of access rights masks.
Returns
See SeSetSecurityDescriptorInfoEx.
Parameters
[in]ObjectIf specified, the function will use this arbitrary object that points to an object security descriptor.
[in]SecurityInformationSecurity information details to be set.
[in]SecurityDescriptorA security descriptor where its info is to be changed.
[in,out]ObjectsSecurityDescriptorThe returned pointer to security descriptor objects.
[in]AutoInheritFlagsFlags bitmask inheritation, influencing how the security descriptor can be inherited and if it can be in the first place.
[in]PoolTypePool type for the new security descriptor to allocate.
[in]GenericMappingThe generic mapping of access rights masks.
Returns
Returns STATUS_SUCCESS if the operations have been completed without problems and that new info has been set to the security descriptor. STATUS_NO_SECURITY_ON_OBJECT is returned if the object does not have a security descriptor. STATUS_INSUFFICIENT_RESOURCES is returned if memory pool allocation for the new security descriptor with new info set has failed.
Parameters
[in]SecurityDescriptorA security descriptor to be freed from memory.
Returns
Returns STATUS_SUCCESS.
Parameters
[in]_ParentDescriptorA security descriptor of the parent object that is being created.
[in]_ExplicitDescriptorAn explicit security descriptor that is applied to a new object.
[out]NewDescriptorThe new allocated security descriptor.
[in]ObjectTypeThe type of the new object.
[in]IsDirectoryObjectSet this to TRUE if the newly created object is a directory object, otherwise set this to FALSE.
[in]AutoInheritFlagsAutomatic inheritance flags that influence how access control entries within ACLs from security descriptors are inherited.
[in]SubjectContextSecurity subject context of the new object.
[in]GenericMappingGeneric mapping of access mask rights.
[in]PoolTypeThis parameter is unused.
Returns
Returns STATUS_SUCCESS if the operations have been completed successfully and that the security descriptor has been assigned to the new object. STATUS_NO_TOKEN is returned if the caller hasn't supplied a valid argument to a security subject context. STATUS_INVALID_OWNER is returned if the caller hasn't supplied a parent descriptor that belongs to the main user (owner). STATUS_INVALID_PRIMARY_GROUP is returned by the same reason as with the previous NTSTATUS code. The two NTSTATUS codes are returned if the calling thread stated that the owner and/or group is defaulted to the parent descriptor (SEF_DEFAULT_OWNER_FROM_PARENT and/or SEF_DEFAULT_GROUP_FROM_PARENT respectively). STATUS_INSUFFICIENT_RESOURCES is returned if memory pool allocation for the descriptor buffer has failed. A failure NTSTATUS is returned otherwise.
Parameters
[in]ParentDescriptorA security descriptor of the parent object that is being created.
[in]ExplicitDescriptorAn explicit security descriptor that is applied to a new object.
[out]NewDescriptorThe new allocated security descriptor.
[in]IsDirectoryObjectSet this to TRUE if the newly created object is a directory object, otherwise set this to FALSE.
[in]SubjectContextSecurity subject context of the new object.
[in]GenericMappingGeneric mapping of access mask rights.
[in]PoolTypeThis parameter is unused.
Returns
See SeAssignSecurityEx.
Parameters
[in]SecurityDescriptorA security descriptor.
[out]QuotaInfoSizeThe returned quota size of the given security descriptor to the caller. The function may return 0 to this parameter if the descriptor doesn't have a group or a discretionary access control list (DACL) even.
Returns
Returns STATUS_SUCCESS if the quota size of a security descriptor has been computed successfully. STATUS_UNKNOWN_REVISION is returned if the security descriptor has an invalid revision.

Definition at line 923 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 */
107 NULL,
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;
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}
static const INTERNET_PORT ServerPort
Definition: CWebService.cpp:11
POBJECT_TYPE ServerPortObjectType
Definition: Messaging.c:24
VOID FLTAPI FltObjectDereference(_Inout_ PVOID Object)
Definition: Object.c:53
NTSTATUS FLTAPI FltObjectReference(_Inout_ PVOID Object)
Definition: Object.c:41
LONG NTSTATUS
Definition: precomp.h:26
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES ObjectAttributes
Definition: conport.c:36
#define NULL
Definition: types.h:112
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:32
#define InsertTailList(ListHead, Entry)
_Must_inspect_result_ _In_opt_ PFLT_FILTER Filter
Definition: fltkernel.h:1801
_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:1877
_Must_inspect_result_ _Outptr_ PFLT_PORT _In_ POBJECT_ATTRIBUTES _In_opt_ PVOID _In_ PFLT_CONNECT_NOTIFY ConnectNotifyCallback
Definition: fltkernel.h:1875
_Must_inspect_result_ _Outptr_ PFLT_PORT _In_ POBJECT_ATTRIBUTES _In_opt_ PVOID ServerPortCookie
Definition: fltkernel.h:1874
_Must_inspect_result_ _Outptr_ PFLT_PORT _In_ POBJECT_ATTRIBUTES _In_opt_ PVOID _In_ PFLT_CONNECT_NOTIFY _In_ PFLT_DISCONNECT_NOTIFY DisconnectNotifyCallback
Definition: fltkernel.h:1876
ULONG FltpObjectPointerReference(_In_ PFLT_OBJECT Object)
Definition: Object.c:322
Status
Definition: gdiplustypes.h:25
VOID FASTCALL ExAcquireFastMutex(IN PFAST_MUTEX FastMutex)
Definition: fmutex.c:23
VOID FASTCALL ExReleaseFastMutex(IN PFAST_MUTEX FastMutex)
Definition: fmutex.c:31
#define OBJ_KERNEL_HANDLE
Definition: winternl.h:231
static LONG MaxConnections
#define KernelMode
Definition: asm.h:34
#define FILE_READ_DATA
Definition: nt_native.h:628
#define STANDARD_RIGHTS_ALL
Definition: nt_native.h:69
PVOID *typedef PHANDLE
Definition: ntsecpkg.h:455
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:2935
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:1039
FLT_MUTEX_LIST_HEAD ConnectionList
Definition: fltmgrint.h:121
LIST_ENTRY mList
Definition: fltmgrint.h:56
FAST_MUTEX mLock
Definition: fltmgrint.h:55
PFLT_DISCONNECT_NOTIFY DisconnectNotify
Definition: fltmgrint.h:192
PFLT_MESSAGE_NOTIFY MessageNotify
Definition: fltmgrint.h:193
PFLT_CONNECT_NOTIFY ConnectNotify
Definition: fltmgrint.h:191
#define RtlZeroMemory(Destination, Length)
Definition: typedefs.h:262
#define STATUS_INVALID_PARAMETER
Definition: udferr_usr.h:135

◆ _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 1576 of file driver.c.

1579{
1580 WCHAR NameBuffer[100];
1581 USHORT NameLength;
1582 UNICODE_STRING LocalDriverName;
1585 ULONG ObjectSize;
1587 UNICODE_STRING ServiceKeyName;
1589 ULONG i, RetryCount = 0;
1590
1591try_again:
1592 /* First, create a unique name for the driver if we don't have one */
1593 if (!DriverName)
1594 {
1595 /* Create a random name and set up the string */
1596 NameLength = (USHORT)swprintf(NameBuffer,
1597 DRIVER_ROOT_NAME L"%08u",
1599 LocalDriverName.Length = NameLength * sizeof(WCHAR);
1600 LocalDriverName.MaximumLength = LocalDriverName.Length + sizeof(UNICODE_NULL);
1601 LocalDriverName.Buffer = NameBuffer;
1602 }
1603 else
1604 {
1605 /* So we can avoid another code path, use a local var */
1606 LocalDriverName = *DriverName;
1607 }
1608
1609 /* Initialize the Attributes */
1610 ObjectSize = sizeof(DRIVER_OBJECT) + sizeof(EXTENDED_DRIVER_EXTENSION);
1612 &LocalDriverName,
1614 NULL,
1615 NULL);
1616
1617 /* Create the Object */
1621 KernelMode,
1622 NULL,
1623 ObjectSize,
1624 0,
1625 0,
1626 (PVOID*)&DriverObject);
1627 if (!NT_SUCCESS(Status)) return Status;
1628
1629 DPRINT("IopCreateDriver(): created DO %p\n", DriverObject);
1630
1631 /* Set up the Object */
1632 RtlZeroMemory(DriverObject, ObjectSize);
1634 DriverObject->Size = sizeof(DRIVER_OBJECT);
1636 DriverObject->DriverExtension = (PDRIVER_EXTENSION)(DriverObject + 1);
1637 DriverObject->DriverExtension->DriverObject = DriverObject;
1638 DriverObject->DriverInit = InitializationFunction;
1639 /* Loop all Major Functions */
1640 for (i = 0; i <= IRP_MJ_MAXIMUM_FUNCTION; i++)
1641 {
1642 /* Invalidate each function */
1643 DriverObject->MajorFunction[i] = IopInvalidDeviceRequest;
1644 }
1645
1646 /* Set up the service key name buffer */
1647 ServiceKeyName.MaximumLength = LocalDriverName.Length + sizeof(UNICODE_NULL);
1648 ServiceKeyName.Buffer = ExAllocatePoolWithTag(PagedPool, LocalDriverName.MaximumLength, TAG_IO);
1649 if (!ServiceKeyName.Buffer)
1650 {
1651 /* Fail */
1655 }
1656
1657 /* For builtin drivers, the ServiceKeyName is equal to DriverName */
1658 RtlCopyUnicodeString(&ServiceKeyName, &LocalDriverName);
1659 ServiceKeyName.Buffer[ServiceKeyName.Length / sizeof(WCHAR)] = UNICODE_NULL;
1660 DriverObject->DriverExtension->ServiceKeyName = ServiceKeyName;
1661
1662 /* Make a copy of the driver name to store in the driver object */
1663 DriverObject->DriverName.MaximumLength = LocalDriverName.Length;
1664 DriverObject->DriverName.Buffer = ExAllocatePoolWithTag(PagedPool,
1665 DriverObject->DriverName.MaximumLength,
1666 TAG_IO);
1667 if (!DriverObject->DriverName.Buffer)
1668 {
1669 /* Fail */
1673 }
1674
1675 RtlCopyUnicodeString(&DriverObject->DriverName, &LocalDriverName);
1676
1677 /* Add the Object and get its handle */
1679 NULL,
1681 0,
1682 NULL,
1683 &hDriver);
1684
1685 /* Eliminate small possibility when this function is called more than
1686 once in a row, and KeTickCount doesn't get enough time to change */
1687 if (!DriverName && (Status == STATUS_OBJECT_NAME_COLLISION) && (RetryCount < 100))
1688 {
1689 RetryCount++;
1690 goto try_again;
1691 }
1692
1693 if (!NT_SUCCESS(Status)) return Status;
1694
1695 /* Now reference it */
1697 0,
1699 KernelMode,
1701 NULL);
1702
1703 /* Close the extra handle */
1705
1706 if (!NT_SUCCESS(Status))
1707 {
1708 /* Fail */
1711 return Status;
1712 }
1713
1714 /* Finally, call its init function */
1715 DPRINT("Calling driver entrypoint at %p\n", InitializationFunction);
1716 Status = InitializationFunction(DriverObject, NULL);
1717 if (!NT_SUCCESS(Status))
1718 {
1719 /* If it didn't work, then kill the object */
1720 DPRINT1("'%wZ' initialization failed, status (0x%08lx)\n", &LocalDriverName, Status);
1723 return Status;
1724 }
1725
1726 /* Windows does this fixup, keep it for compatibility */
1727 for (i = 0; i <= IRP_MJ_MAXIMUM_FUNCTION; i++)
1728 {
1729 /*
1730 * Make sure the driver didn't set any dispatch entry point to NULL!
1731 * Doing so is illegal; drivers shouldn't touch entry points they
1732 * do not implement.
1733 */
1734
1735 /* Check if it did so anyway */
1736 if (!DriverObject->MajorFunction[i])
1737 {
1738 /* Print a warning in the debug log */
1739 DPRINT1("Driver <%wZ> set DriverObject->MajorFunction[%lu] to NULL!\n",
1740 &DriverObject->DriverName, i);
1741
1742 /* Fix it up */
1743 DriverObject->MajorFunction[i] = IopInvalidDeviceRequest;
1744 }
1745 }
1746
1747 /* Return the Status */
1748 return Status;
1749}
#define DPRINT1
Definition: precomp.h:8
#define swprintf
Definition: precomp.h:40
#define ExAllocatePoolWithTag(hernya, size, tag)
Definition: env_spec_w32.h:350
#define PagedPool
Definition: env_spec_w32.h:308
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
#define OBJ_CASE_INSENSITIVE
Definition: winternl.h:228
#define OBJ_PERMANENT
Definition: winternl.h:226
#define DRIVER_ROOT_NAME
Definition: ldr.h:5
#define InitializeObjectAttributes(p, n, a, r, s)
Definition: reg.c:106
NTSYSAPI NTSTATUS NTAPI ZwClose(_In_ HANDLE Handle)
NTSYSAPI VOID NTAPI RtlCopyUnicodeString(PUNICODE_STRING DestinationString, PUNICODE_STRING SourceString)
#define UNICODE_NULL
NTKERNELAPI volatile KSYSTEM_TIME KeTickCount
Definition: clock.c:19
POBJECT_TYPE IoDriverObjectType
Definition: driver.c:34
NTSTATUS NTAPI IopInvalidDeviceRequest(PDEVICE_OBJECT DeviceObject, PIRP Irp)
Definition: driver.c:65
#define L(x)
Definition: ntvdm.h:50
VOID NTAPI ObMakeTemporaryObject(IN PVOID ObjectBody)
Definition: oblife.c:1449
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:494
unsigned short USHORT
Definition: pedump.c:61
#define DPRINT
Definition: sndvol32.h:71
PDRIVER_INITIALIZE DriverInit
Definition: iotypes.h:2286
ULONG LowPart
Definition: ketypes.h:929
USHORT MaximumLength
Definition: env_spec_w32.h:370
#define TAG_IO
Definition: tag.h:80
uint32_t ULONG
Definition: typedefs.h:59
#define STATUS_OBJECT_NAME_COLLISION
Definition: udferr_usr.h:150
#define STATUS_INSUFFICIENT_RESOURCES
Definition: udferr_usr.h:158
_Must_inspect_result_ _In_ PDRIVER_OBJECT DriverObject
Definition: wdfdriver.h:213
_In_ LPWSTR _In_ ULONG _In_ ULONG _In_ ULONG _Out_ DEVINFO _In_ HDEV _In_ LPWSTR _In_ HANDLE hDriver
Definition: winddi.h:3557
#define DRVO_BUILTIN_DRIVER
Definition: iotypes.h:2227
struct _DRIVER_OBJECT DRIVER_OBJECT
struct _DRIVER_EXTENSION * PDRIVER_EXTENSION
#define IO_TYPE_DRIVER
#define IRP_MJ_MAXIMUM_FUNCTION
#define ObDereferenceObject
Definition: obfuncs.h:203
__wchar_t WCHAR
Definition: xmlstorage.h:180

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

◆ IoDeleteDriver()

VOID NTAPI IoDeleteDriver ( _In_ PDRIVER_OBJECT  DriverObject)

Definition at line 1756 of file driver.c.

1758{
1759 /* Simply dereference the Object */
1761}

Referenced by KdpDriverReinit().

◆ IoReportHalResourceUsage()

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

Reports hardware resources of the HAL in the \Registry\Machine\Hardware\ResourceMap tree.

Parameters
[in]HalNameDescriptive name of the HAL.
[in]RawResourceListList of raw (bus specific) resources which should be claimed for the HAL.
[in]TranslatedResourceListList of translated (system wide) resources which should be claimed for the HAL.
[in]ResourceListSizeSize in bytes of the raw and translated resource lists. Both lists have the same size.
Returns
A status code.

Definition at line 1321 of file iorsrce.c.

1326{
1331 HANDLE ResourceMapKey;
1332 HANDLE HalKey;
1334
1335 /* Open/Create 'RESOURCEMAP' key */
1336 RtlInitUnicodeString(&Name, L"\\Registry\\Machine\\HARDWARE\\RESOURCEMAP");
1338 &Name,
1340 0,
1341 NULL);
1342 Status = ZwCreateKey(&ResourceMapKey,
1345 0,
1346 NULL,
1348 &Disposition);
1349 if (!NT_SUCCESS(Status))
1350 return Status;
1351
1352 /* Open/Create 'Hardware Abstraction Layer' key */
1353 RtlInitUnicodeString(&Name, L"Hardware Abstraction Layer");
1355 &Name,
1357 ResourceMapKey,
1358 NULL);
1359 Status = ZwCreateKey(&HalKey,
1362 0,
1363 NULL,
1365 &Disposition);
1366 ZwClose(ResourceMapKey);
1367 if (!NT_SUCCESS(Status))
1368 return Status;
1369
1370 /* Create 'HalName' key */
1372 HalName,
1374 HalKey,
1375 NULL);
1376 Status = ZwCreateKey(&DescriptionKey,
1379 0,
1380 NULL,
1382 &Disposition);
1383 ZwClose(HalKey);
1384 if (!NT_SUCCESS(Status))
1385 return Status;
1386
1387 /* Add '.Raw' value */
1388 RtlInitUnicodeString(&Name, L".Raw");
1389 Status = ZwSetValueKey(DescriptionKey,
1390 &Name,
1391 0,
1393 RawResourceList,
1394 ResourceListSize);
1395 if (!NT_SUCCESS(Status))
1396 {
1398 return Status;
1399 }
1400
1401 /* Add '.Translated' value */
1402 RtlInitUnicodeString(&Name, L".Translated");
1403 Status = ZwSetValueKey(DescriptionKey,
1404 &Name,
1405 0,
1407 TranslatedResourceList,
1408 ResourceListSize);
1410
1411 return Status;
1412}
struct NameRec_ * Name
Definition: cdprocs.h:460
static const WCHAR DescriptionKey[]
Definition: install.c:37
PWCHAR HalName
Definition: halacpi.c:45
#define OBJ_OPENIF
Definition: winternl.h:229
_In_ ACCESS_MASK _In_ POBJECT_ATTRIBUTES _Reserved_ ULONG _In_opt_ PUNICODE_STRING _In_ ULONG _Out_opt_ PULONG Disposition
Definition: cmfuncs.h:56
#define KEY_ALL_ACCESS
Definition: nt_native.h:1041
NTSYSAPI VOID NTAPI RtlInitUnicodeString(PUNICODE_STRING DestinationString, PCWSTR SourceString)
#define REG_RESOURCE_LIST
Definition: nt_native.h:1502
#define REG_OPTION_VOLATILE
Definition: nt_native.h:1060

Referenced by HalpReportResourceUsage().

◆ 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 3938 of file file.c.

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

◆ 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{
148}
#define UNIMPLEMENTED
Definition: debug.h:115
#define STATUS_NOT_IMPLEMENTED
Definition: ntstatus.h:239

◆ 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 648 of file iofuncs.h.

◆ EaLength

◆ Event

Definition at line 725 of file iofuncs.h.

◆ FileAttributes

◆ FileInformationClass

Definition at line 848 of file iofuncs.h.

◆ FileName

◆ FsControlCode

◆ FsInformationClass

Definition at line 926 of file iofuncs.h.

◆ InputBufferLength

◆ IoControlCode

◆ IoStatusBlock

◆ Key

◆ Length

◆ ObjectAttributes

Definition at line 649 of file iofuncs.h.

◆ OutputBufferLength

◆ RestartScan

◆ ReturnSingleEntry

◆ ShareAccess