25 printf(
"%08lx %02hx %02hx %02hx %02hx %02hx %02hx %02hx %02hx-%02hx %02hx %02hx %02hx %02hx %02hx %02hx %02hx",
44 printf(
" %c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n",
81#ifndef EVENT_ALL_ACCESS
82#define EVENT_ALL_ACCESS (0x1f0003L)
107 printf(
"NtCreateEvent() failed\n");
153 printf(
"Usage: isotest [Drive:]\n");
169 printf(
"CreateFile(): Invalid disk handle!\n");
177 printf(
"Out of memory!\n");
187 FilePosition.
u.LowPart,
188 &FilePosition.
u.HighPart,
194 printf(
"SetFilePointer() failed!\n");
206 printf(
"ReadFile() failed!\n");
220 printf(
"ReadBlock() failed!\n");
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES ObjectAttributes
#define NT_SUCCESS(StatCode)
#define ReadFile(a, b, c, d, e)
#define INVALID_HANDLE_VALUE
IN PVCB IN PBCB OUT PDIRENT IN USHORT IN POEM_STRING Filename
_Must_inspect_result_ _In_opt_ PFLT_INSTANCE _Out_ PHANDLE FileHandle
void HexDump(char *buffer, ULONG size)
BOOL ReadBlock(HANDLE FileHandle, PVOID Buffer, PLARGE_INTEGER Offset, ULONG Length, PULONG BytesRead)
static OUT PIO_STATUS_BLOCK IoStatusBlock
#define InitializeObjectAttributes(p, n, a, r, s)
NTSTATUS NTAPI NtClose(IN HANDLE Handle)
NTSYSAPI NTSTATUS NTAPI NtWaitForSingleObject(IN HANDLE hObject, IN BOOLEAN bAlertable, IN PLARGE_INTEGER Timeout)
_In_ ULONG _In_ ULONG Offset
_In_ ULONG _In_ ULONG _In_ ULONG Length
NTSTATUS NTAPI NtCreateEvent(OUT PHANDLE EventHandle, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL, IN EVENT_TYPE EventType, IN BOOLEAN InitialState)
#define STATUS_END_OF_FILE
NTSTATUS NTAPI NtReadFile(HANDLE FileHandle, HANDLE Event, PIO_APC_ROUTINE ApcRoutine, PVOID ApcContext, PIO_STATUS_BLOCK IoStatusBlock, PVOID Buffer, ULONG Length, PLARGE_INTEGER ByteOffset, PULONG Key)
struct _LARGE_INTEGER::@2306 u
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PLONGLONG _In_opt_ PWDF_REQUEST_SEND_OPTIONS _Out_opt_ PULONG_PTR BytesRead
DWORD WINAPI GetLastError(void)
_Out_ PHANDLE EventHandle