300{
308
312 return;
313
316 &NonCachedFileName,
324 0,
329 {
332 trace(
"Non-Cached read, no FastIo, direct return\n");
334 trace(
"Non-Cached read, allow FastIo, direct return\n");
336 trace(
"Non-Cached read, no FastIo, pending return\n");
338 trace(
"Non-Cached read, allow FastIo, pending return\n");
340
341 trace(
"Non-Cached write, no FastIo, direct return\n");
343 trace(
"Non-Cached write, allow FastIo, direct return\n");
345 trace(
"Non-Cached write, no FastIo, pending return\n");
347 trace(
"Non-Cached write, allow FastIo, pending return\n");
350 }
351
354 &CachedFileName,
362 0,
367 {
370 trace(
"Cached read, no FastIo, direct return\n");
372 trace(
"Cached read, allow FastIo, direct return\n");
374 trace(
"Cached read, no FastIo, pending return\n");
376 trace(
"Cached read, allow FastIo, pending return\n");
378
379 trace(
"Cached write, no FastIo, direct return\n");
381 trace(
"Cached write, allow FastIo, direct return\n");
383 trace(
"Cached write, no FastIo, pending return\n");
385 trace(
"Cached write, allow FastIo, pending return\n");
388 }
389
392}
static VOID TestRead(_In_ HANDLE FileHandle, _In_ BOOLEAN Cached, _In_ BOOLEAN UseFastIo, _In_ BOOLEAN ReturnPending)
static VOID TestWrite(_In_ HANDLE FileHandle, _In_ BOOLEAN Cached, _In_ BOOLEAN UseFastIo, _In_ BOOLEAN ReturnPending)
#define ok_eq_hex(value, expected)
#define ok_eq_int(value, expected)
#define ok_eq_ulongptr(value, expected)
#define FILE_NON_DIRECTORY_FILE
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES ObjectAttributes
#define NT_SUCCESS(StatCode)
_Must_inspect_result_ _In_opt_ PFLT_INSTANCE _Out_ PHANDLE FileHandle
#define FILE_SYNCHRONOUS_IO_NONALERT
#define OBJ_CASE_INSENSITIVE
#define RtlFillMemory(Dest, Length, Fill)
#define InitializeObjectAttributes(p, n, a, r, s)
__in UCHAR __in POWER_STATE __in_opt PVOID __in PIO_STATUS_BLOCK IoStatus
NTSYSAPI NTSTATUS NTAPI NtOpenFile(OUT PHANDLE phFile, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes, OUT PIO_STATUS_BLOCK pIoStatusBlock, IN ULONG ShareMode, IN ULONG OpenMode)
NTSTATUS NTAPI NtClose(IN HANDLE Handle)
DWORD KmtLoadAndOpenDriver(IN PCWSTR ServiceName, IN BOOLEAN RestartIfRunning)
VOID KmtCloseDriver(VOID)
VOID KmtUnloadDriver(VOID)
#define RTL_CONSTANT_STRING(s)