#ifndef _NTIOAPI_H
/**
* The NtSetInformationFile routine changes various kinds of information about a file object.
*
* \param FileHandle A handle to the file object representing the file or directory.
* \param IoStatusBlock A pointer to an IO_STATUS_BLOCK structure that receives the final completion status, and the number of bytes written to the buffer pointed to by FileInformation.
* \param FileInformation Pointer to a buffer that contains the information to set for the file.
* \param Length The size, in bytes, of the buffer pointed to by FileInformation.
* \param FileInformationClass The type of information, supplied in the buffer pointed to by FileInformation, to set for the file.
* \return NTSTATUS Successful or errant status.
* \sa https://learn.microsoft.com/en-us/windows-hardware/drivers/ddi/ntifs/nf-ntifs-ntsetinformationfile
*/
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
);
View code on GitHub
#ifndef _NTZWAPI_H
NTSYSCALLAPI
NTSTATUS
NTAPI
ZwSetInformationFile(
_In_ HANDLE FileHandle,
_Out_ PIO_STATUS_BLOCK IoStatusBlock,
_In_reads_bytes_(Length) PVOID FileInformation,
_In_ ULONG Length,
_In_ FILE_INFORMATION_CLASS FileInformationClass
);
View code on GitHub
This function is documented in Windows Driver Kit here and here.
(Description of this function is also available in Win2000 DDK)
HANDLE
to File Object.
IO result of call.
User's allocated buffer contains data to set to.
Length of FileInformation
buffer, in bytes.
See FILE_INFORMATION_CLASS
for possible information classes and required contents of FileInformation
buffer.