Something went wrong. Try again.
Reactos
Something went wrong. Try again.
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084/*++ NDK Version: 0098
Copyright (c) Alex Ionescu. All rights reserved.
Header Name:
iofuncs.h
Abstract:
Function definitions for the I/O Manager.
Author:
Alex Ionescu (alexi@tinykrnl.org) - Updated - 27-Feb-2006
--*/
#ifndef _IOFUNCS_H#define _IOFUNCS_H
//// Dependencies//#include <umtypes.h>#include <iotypes.h>
#ifdef __cplusplusextern "C" {#endif
//// I/O Functions//#ifndef NTOS_MODE_USERVOIDFASTCALLIoAssignDriveLetters( _In_ struct _LOADER_PARAMETER_BLOCK *LoaderBlock, _In_ PSTRING NtDeviceName, _Out_ PUCHAR NtSystemPath, _Out_ PSTRING NtSystemPathString);
NTSTATUSNTAPIIoSynchronousInvalidateDeviceRelations( _In_ PDEVICE_OBJECT DeviceObject, _In_ DEVICE_RELATION_TYPE Type);
NTSTATUSNTAPIIoCreateDriver( _In_opt_ PUNICODE_STRING DriverName, _In_ PDRIVER_INITIALIZE InitializationFunction);
VOIDNTAPIIoDeleteDriver( _In_ PDRIVER_OBJECT DriverObject);
NTSTATUSNTAPIIoReportHalResourceUsage( _In_ PUNICODE_STRING HalName, _In_ PCM_RESOURCE_LIST RawResourceList, _In_ PCM_RESOURCE_LIST TranslatedResourceList, _In_ ULONG ResourceListSize);#endif
//// Native calls//NTSYSCALLAPINTSTATUSNTAPINtAddBootEntry( _In_ PBOOT_ENTRY BootEntry, _In_ ULONG Id);
NTSYSCALLAPINTSTATUSNTAPINtAddDriverEntry( _In_ PEFI_DRIVER_ENTRY BootEntry, _In_ ULONG Id);
NTSYSCALLAPINTSTATUSNTAPINtCancelIoFile( _In_ HANDLE FileHandle, _Out_ PIO_STATUS_BLOCK IoStatusBlock);
__kernel_entryNTSYSCALLAPINTSTATUSNTAPINtCreateFile( _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);
NTSYSCALLAPINTSTATUSNTAPINtCreateIoCompletion( _Out_ PHANDLE IoCompletionHandle, _In_ ACCESS_MASK DesiredAccess, _In_opt_ POBJECT_ATTRIBUTES ObjectAttributes, _In_ ULONG NumberOfConcurrentThreads);
NTSYSCALLAPINTSTATUSNTAPINtCreateMailslotFile( _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);
NTSYSCALLAPINTSTATUSNTAPINtCreateNamedPipeFile( _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);
NTSYSCALLAPINTSTATUSNTAPINtDeleteDriverEntry( _In_ ULONG Id);
NTSYSCALLAPINTSTATUSNTAPINtDeleteBootEntry( _In_ ULONG Id);
NTSYSCALLAPINTSTATUSNTAPINtDeleteFile( _In_ POBJECT_ATTRIBUTES ObjectAttributes);
__kernel_entryNTSYSCALLAPINTSTATUSNTAPINtDeviceIoControlFile( _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);
NTSYSCALLAPINTSTATUSNTAPINtEnumerateBootEntries( _In_ PVOID Buffer, _In_ PULONG BufferLength);
NTSYSCALLAPINTSTATUSNTAPINtEnumerateDriverEntries( _In_ PVOID Buffer, _In_ PULONG BufferLength);
NTSYSCALLAPINTSTATUSNTAPINtFlushBuffersFile( _In_ HANDLE FileHandle, _Out_ PIO_STATUS_BLOCK IoStatusBlock);
NTSYSCALLAPINTSTATUSNTAPINtFlushWriteBuffer(VOID);
__kernel_entryNTSYSCALLAPINTSTATUSNTAPINtFsControlFile( _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);
NTSYSCALLAPINTSTATUSNTAPINtLoadDriver( _In_ PUNICODE_STRING DriverServiceName);
NTSYSCALLAPINTSTATUSNTAPINtLockFile( _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);
NTSYSCALLAPINTSTATUSNTAPINtModifyBootEntry( _In_ PBOOT_ENTRY BootEntry);
NTSYSCALLAPINTSTATUSNTAPINtModifyDriverEntry( _In_ PEFI_DRIVER_ENTRY DriverEntry);
NTSYSCALLAPINTSTATUSNTAPINtNotifyChangeDirectoryFile( _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);
NTSYSCALLAPINTSTATUSNTAPINtOpenFile( _Out_ PHANDLE FileHandle, _In_ ACCESS_MASK DesiredAccess, _In_ POBJECT_ATTRIBUTES ObjectAttributes, _Out_ PIO_STATUS_BLOCK IoStatusBlock, _In_ ULONG ShareAccess, _In_ ULONG OpenOptions);
NTSYSCALLAPINTSTATUSNTAPINtOpenIoCompletion( _Out_ PHANDLE CompetionPort, _In_ ACCESS_MASK DesiredAccess, _In_ POBJECT_ATTRIBUTES ObjectAttributes);
NTSYSCALLAPINTSTATUSNTAPINtQueryAttributesFile( _In_ POBJECT_ATTRIBUTES ObjectAttributes, _Out_ PFILE_BASIC_INFORMATION FileInformation);
NTSTATUSNTAPINtQueryDriverEntryOrder( _In_ PULONG Ids, _In_ PULONG Count);
NTSYSCALLAPINTSTATUSNTAPINtQueryBootEntryOrder( _In_ PULONG Ids, _In_ PULONG Count);
NTSYSCALLAPINTSTATUSNTAPINtQueryBootOptions( _In_ PBOOT_OPTIONS BootOptions, _In_ PULONG BootOptionsLength);
__kernel_entryNTSYSCALLAPINTSTATUSNTAPINtQueryDirectoryFile( _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);
NTSYSCALLAPINTSTATUSNTAPINtQueryEaFile( _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);
NTSYSCALLAPINTSTATUSNTAPINtQueryFullAttributesFile( _In_ POBJECT_ATTRIBUTES ObjectAttributes, _Out_ PFILE_NETWORK_OPEN_INFORMATION FileInformation);
__kernel_entryNTSYSCALLAPINTSTATUSNTAPINtQueryInformationFile( _In_ HANDLE FileHandle, _Out_ PIO_STATUS_BLOCK IoStatusBlock, _Out_writes_bytes_(Length) PVOID FileInformation, _In_ ULONG Length, _In_ FILE_INFORMATION_CLASS FileInformationClass);
NTSYSCALLAPINTSTATUSNTAPINtQueryIoCompletion( _In_ HANDLE IoCompletionHandle, _In_ IO_COMPLETION_INFORMATION_CLASS IoCompletionInformationClass, _Out_ PVOID IoCompletionInformation, _In_ ULONG IoCompletionInformationLength, _Out_opt_ PULONG ResultLength);
__kernel_entryNTSYSCALLAPINTSTATUSNTAPINtQueryQuotaInformationFile( _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))) // SeLengthSid() PSID StartSid, _In_ BOOLEAN RestartScan);
__kernel_entryNTSYSCALLAPINTSTATUSNTAPINtQueryVolumeInformationFile( _In_ HANDLE FileHandle, _Out_ PIO_STATUS_BLOCK IoStatusBlock, _Out_writes_bytes_(Length) PVOID FsInformation, _In_ ULONG Length, _In_ FS_INFORMATION_CLASS FsInformationClass);
__kernel_entryNTSYSCALLAPINTSTATUSNTAPINtReadFile( _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);
NTSYSCALLAPINTSTATUSNTAPINtReadFileScatter( _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);
NTSYSCALLAPINTSTATUSNTAPINtRemoveIoCompletion( _In_ HANDLE IoCompletionHandle, _Out_ PVOID *CompletionKey, _Out_ PVOID *CompletionContext, _Out_ PIO_STATUS_BLOCK IoStatusBlock, _In_opt_ PLARGE_INTEGER Timeout);
NTSYSCALLAPINTSTATUSNTAPINtSetBootEntryOrder( _In_ PULONG Ids, _In_ PULONG Count);
NTSYSCALLAPINTSTATUSNTAPINtSetBootOptions( _In_ PBOOT_OPTIONS BootOptions, _In_ ULONG FieldsToChange);
NTSTATUSNTAPINtSetDriverEntryOrder( _In_ PULONG Ids, _In_ PULONG Count);
NTSYSCALLAPINTSTATUSNTAPINtSetEaFile( _In_ HANDLE FileHandle, _In_ PIO_STATUS_BLOCK IoStatusBlock, PVOID EaBuffer, ULONG EaBufferSize);
__kernel_entryNTSYSCALLAPINTSTATUSNTAPINtSetInformationFile( _In_ HANDLE FileHandle, _Out_ PIO_STATUS_BLOCK IoStatusBlock, _In_reads_bytes_(Length) PVOID FileInformation, _In_ ULONG Length, _In_ FILE_INFORMATION_CLASS FileInformationClass);
NTSYSCALLAPINTSTATUSNTAPINtSetIoCompletion( _In_ HANDLE IoCompletionPortHandle, _In_ PVOID CompletionKey, _In_ PVOID CompletionContext, _In_ NTSTATUS CompletionStatus, _In_ ULONG CompletionInformation);
NTSYSCALLAPINTSTATUSNTAPINtSetQuotaInformationFile( HANDLE FileHandle, PIO_STATUS_BLOCK IoStatusBlock, PVOID Buffer, ULONG BufferLength);
__kernel_entryNTSYSCALLAPINTSTATUSNTAPINtSetVolumeInformationFile( _In_ HANDLE FileHandle, _Out_ PIO_STATUS_BLOCK IoStatusBlock, _In_reads_bytes_(Length) PVOID FsInformation, _In_ ULONG Length, _In_ FS_INFORMATION_CLASS FsInformationClass);
NTSYSCALLAPINTSTATUSNTAPINtTranslateFilePath( PFILE_PATH InputFilePath, ULONG OutputType, PFILE_PATH OutputFilePath, ULONG OutputFilePathLength);
NTSYSCALLAPINTSTATUSNTAPINtUnloadDriver( _In_ PUNICODE_STRING DriverServiceName);
__kernel_entryNTSYSCALLAPINTSTATUSNTAPINtUnlockFile( _In_ HANDLE FileHandle, _Out_ PIO_STATUS_BLOCK IoStatusBlock, _In_ PLARGE_INTEGER ByteOffset, _In_ PLARGE_INTEGER Length, _In_ ULONG Key);
__kernel_entryNTSYSCALLAPINTSTATUSNTAPINtWriteFile( _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);
NTSYSCALLAPINTSTATUSNTAPINtWriteFileGather( _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);
NTSYSAPINTSTATUSNTAPIZwAddBootEntry( _In_ PUNICODE_STRING EntryName, _In_ PUNICODE_STRING EntryValue);
NTSYSAPINTSTATUSNTAPIZwCancelIoFile( _In_ HANDLE FileHandle, _Out_ PIO_STATUS_BLOCK IoStatusBlock);
_IRQL_requires_max_(PASSIVE_LEVEL)NTSYSAPINTSTATUSNTAPIZwCreateFile( _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);
NTSYSAPINTSTATUSNTAPIZwCreateIoCompletion( _Out_ PHANDLE IoCompletionHandle, _In_ ACCESS_MASK DesiredAccess, _In_opt_ POBJECT_ATTRIBUTES ObjectAttributes, _In_ ULONG NumberOfConcurrentThreads);
NTSYSAPINTSTATUSNTAPIZwCreateMailslotFile( _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);
NTSYSAPINTSTATUSNTAPIZwCreateNamedPipeFile( _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);
NTSYSAPINTSTATUSNTAPIZwDeleteBootEntry( _In_ PUNICODE_STRING EntryName, _In_ PUNICODE_STRING EntryValue);
NTSYSAPINTSTATUSNTAPIZwDeleteFile( _In_ POBJECT_ATTRIBUTES ObjectAttributes);
_IRQL_requires_max_(PASSIVE_LEVEL)NTSYSAPINTSTATUSNTAPIZwDeviceIoControlFile( _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);
_IRQL_requires_max_(PASSIVE_LEVEL)NTSYSAPINTSTATUSNTAPIZwFlushBuffersFile( _In_ HANDLE FileHandle, _Out_ PIO_STATUS_BLOCK IoStatusBlock);
NTSYSAPINTSTATUSNTAPIZwFlushWriteBuffer(VOID);
_IRQL_requires_max_(PASSIVE_LEVEL)NTSYSAPINTSTATUSNTAPIZwFsControlFile( _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);
#ifdef NTOS_MODE_USERNTSYSAPINTSTATUSNTAPIZwLoadDriver( _In_ PUNICODE_STRING DriverServiceName);#endif
NTSYSAPINTSTATUSNTAPIZwLockFile( _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);
NTSYSAPINTSTATUSNTAPIZwNotifyChangeDirectoryFile( _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);
NTSYSAPINTSTATUSNTAPIZwOpenFile( _Out_ PHANDLE FileHandle, _In_ ACCESS_MASK DesiredAccess, _In_ POBJECT_ATTRIBUTES ObjectAttributes, _Out_ PIO_STATUS_BLOCK IoStatusBlock, _In_ ULONG ShareAccess, _In_ ULONG OpenOptions);
NTSYSAPINTSTATUSNTAPIZwOpenIoCompletion( _Out_ PHANDLE CompetionPort, _In_ ACCESS_MASK DesiredAccess, _In_ POBJECT_ATTRIBUTES ObjectAttributes);
NTSYSAPINTSTATUSNTAPIZwQueryAttributesFile( _In_ POBJECT_ATTRIBUTES ObjectAttributes, _Out_ PFILE_BASIC_INFORMATION FileInformation);
_IRQL_requires_max_(PASSIVE_LEVEL)NTSYSAPINTSTATUSNTAPIZwQueryDirectoryFile( _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);
#ifdef NTOS_MODE_USERNTSYSAPINTSTATUSNTAPIZwQueryEaFile( _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);#endif
NTSYSAPINTSTATUSNTAPIZwQueryFullAttributesFile( _In_ POBJECT_ATTRIBUTES ObjectAttributes, _Out_ PFILE_NETWORK_OPEN_INFORMATION FileInformation);
_IRQL_requires_max_(PASSIVE_LEVEL)NTSYSAPINTSTATUSNTAPIZwQueryInformationFile( _In_ HANDLE FileHandle, _Out_ PIO_STATUS_BLOCK IoStatusBlock, _Out_writes_bytes_(Length) PVOID FileInformation, _In_ ULONG Length, _In_ FILE_INFORMATION_CLASS FileInformationClass);
NTSYSAPINTSTATUSNTAPIZwQueryIoCompletion( _In_ HANDLE IoCompletionHandle, _In_ IO_COMPLETION_INFORMATION_CLASS IoCompletionInformationClass, _Out_ PVOID IoCompletionInformation, _In_ ULONG IoCompletionInformationLength, _Out_opt_ PULONG ResultLength);
NTSYSAPINTSTATUSNTAPIZwQueryQuotaInformationFile( _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);
_IRQL_requires_max_(PASSIVE_LEVEL)NTSYSAPINTSTATUSNTAPIZwQueryVolumeInformationFile( _In_ HANDLE FileHandle, _Out_ PIO_STATUS_BLOCK IoStatusBlock, _Out_writes_bytes_(Length) PVOID FsInformation, _In_ ULONG Length, _In_ FS_INFORMATION_CLASS FsInformationClass);
_IRQL_requires_max_(PASSIVE_LEVEL)NTSYSAPINTSTATUSNTAPIZwReadFile( _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);
NTSYSAPINTSTATUSNTAPIZwReadFileScatter( _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);
NTSYSAPINTSTATUSNTAPIZwRemoveIoCompletion( _In_ HANDLE IoCompletionHandle, _Out_ PVOID *CompletionKey, _Out_ PVOID *CompletionContext, _Out_ PIO_STATUS_BLOCK IoStatusBlock, _In_opt_ PLARGE_INTEGER Timeout);
#ifdef NTOS_MODE_USERNTSYSAPINTSTATUSNTAPIZwSetEaFile( _In_ HANDLE FileHandle, _In_ PIO_STATUS_BLOCK IoStatusBlock, PVOID EaBuffer, ULONG EaBufferSize);#endif
_IRQL_requires_max_(PASSIVE_LEVEL)NTSYSAPINTSTATUSNTAPIZwSetInformationFile( _In_ HANDLE FileHandle, _Out_ PIO_STATUS_BLOCK IoStatusBlock, _In_reads_bytes_(Length) PVOID FileInformation, _In_ ULONG Length, _In_ FILE_INFORMATION_CLASS FileInformationClass);
NTSYSAPINTSTATUSNTAPIZwSetIoCompletion( _In_ HANDLE IoCompletionPortHandle, _In_ PVOID CompletionKey, _In_ PVOID CompletionContext, _In_ NTSTATUS CompletionStatus, _In_ ULONG CompletionInformation);
NTSYSAPINTSTATUSNTAPIZwSetQuotaInformationFile( _In_ HANDLE FileHandle, _Out_ PIO_STATUS_BLOCK IoStatusBlock, _In_ PVOID Buffer, _In_ ULONG BufferLength);
_IRQL_requires_max_(PASSIVE_LEVEL)NTSYSAPINTSTATUSNTAPIZwSetVolumeInformationFile( _In_ HANDLE FileHandle, _Out_ PIO_STATUS_BLOCK IoStatusBlock, _In_reads_bytes_(Length) PVOID FsInformation, _In_ ULONG Length, _In_ FS_INFORMATION_CLASS FsInformationClass);
NTSYSAPINTSTATUSNTAPIZwUnloadDriver( _In_ PUNICODE_STRING DriverServiceName);
NTSYSAPINTSTATUSNTAPIZwUnlockFile( _In_ HANDLE FileHandle, _Out_ PIO_STATUS_BLOCK IoStatusBlock, _In_ PLARGE_INTEGER ByteOffset, _In_ PLARGE_INTEGER Length, _In_opt_ ULONG Key);
_IRQL_requires_max_(PASSIVE_LEVEL)NTSYSAPINTSTATUSNTAPIZwWriteFile( _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);
NTSYSAPINTSTATUSNTAPIZwWriteFileGather( _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);
#ifdef __cplusplus}#endif
#endif