Added DomitoReadFile
This commit is contained in:
@ -316,3 +316,42 @@ DomitoGetPortableExecutableDigestKind(
|
||||
|
||||
return CALG_SHA1;
|
||||
}
|
||||
|
||||
_Success_(return == STATUS_SUCCESS)
|
||||
_Must_inspect_result_
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
NTSTATUS
|
||||
DomitoReadFile(
|
||||
_In_ HANDLE FileHandle,
|
||||
_Out_ PVOID Buffer,
|
||||
_In_ ULONG BufferSize
|
||||
)
|
||||
{
|
||||
NTSTATUS status = STATUS_SUCCESS;
|
||||
IO_STATUS_BLOCK ioStatusBlock;
|
||||
|
||||
// Read the file into memory using ZwReadFile
|
||||
if (!NT_SUCCESS(status = ZwReadFile(
|
||||
FileHandle,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
&ioStatusBlock,
|
||||
Buffer,
|
||||
BufferSize,
|
||||
NULL,
|
||||
NULL
|
||||
)))
|
||||
{
|
||||
return status;
|
||||
}
|
||||
|
||||
// Check if the file was read successfully
|
||||
if (!NT_SUCCESS(ioStatusBlock.Status))
|
||||
{
|
||||
return ioStatusBlock.Status;
|
||||
}
|
||||
|
||||
// File read successfully
|
||||
return status;
|
||||
}
|
||||
|
Reference in New Issue
Block a user