8#ifndef _KMTEST_IOREADFILE_H_
9#define _KMTEST_IOREADFILE_H_
11#define TEST_FILE_SIZE 17
13#define KEY_SUCCEED 0x00
14#define KEY_SUCCESS_WAIT1 0x01
16#define KEY_INFO_EXISTS 0x41
18#define KEY_FAIL_MISALIGNED 0x81
19#define KEY_FAIL_OVERFLOW 0x82
20#define KEY_FAIL_PARTIAL 0x83
21#define KEY_FAIL_BUSY 0x84
22#define KEY_FAIL_VERIFY_REQUIRED 0x85
24#define KEY_FAIL_UNSUCCESSFUL 0xc1
25#define KEY_FAIL_NOT_IMPLEMENTED 0xc2
26#define KEY_FAIL_ACCESS_VIOLATION 0xc3
27#define KEY_FAIL_IN_PAGE_ERROR 0xc4
28#define KEY_FAIL_EOF 0xc5
29#define KEY_FAIL_ACCESS_DENIED 0xc6
30#define KEY_FAIL_MISALIGNED_ERROR 0xc7
31#define KEY_RESULT_MASK 0xff
33#define KEY_NEXT(key) ( (key) == KEY_FAIL_MISALIGNED_ERROR ? 0xff : \
34 (key) == KEY_FAIL_VERIFY_REQUIRED ? KEY_FAIL_UNSUCCESSFUL : \
35 (key) == KEY_INFO_EXISTS ? KEY_FAIL_MISALIGNED : \
36 (key) == KEY_SUCCESS_WAIT1 ? KEY_INFO_EXISTS : \
38#define KEY_ERROR(key) (((key) & 0xc0) == 0xc0)
85#define KEY_USE_FASTIO 0x100
86#define KEY_RETURN_PENDING 0x200
88#define KEY_DATA(c) (((c) & 0xff) << 24)
89#define KEY_GET_DATA(key) ((key) >> 24)
#define KEY_FAIL_ACCESS_VIOLATION
#define KEY_FAIL_VERIFY_REQUIRED
#define KEY_FAIL_MISALIGNED_ERROR
#define KEY_FAIL_UNSUCCESSFUL
#define KEY_FAIL_MISALIGNED
#define KEY_FAIL_IN_PAGE_ERROR
#define KEY_SUCCESS_WAIT1
#define KEY_FAIL_OVERFLOW
#define KEY_FAIL_ACCESS_DENIED
static NTSTATUS TestGetReturnStatus(_In_ ULONG LockKey)
#define KEY_FAIL_NOT_IMPLEMENTED
IN PLARGE_INTEGER IN ULONG IN BOOLEAN IN ULONG LockKey
#define STATUS_OBJECT_NAME_EXISTS
#define STATUS_DATATYPE_MISALIGNMENT_ERROR
#define STATUS_ACCESS_VIOLATION
#define STATUS_NOT_IMPLEMENTED
#define STATUS_IN_PAGE_ERROR
#define STATUS_DATATYPE_MISALIGNMENT
#define STATUS_PARTIAL_COPY
#define STATUS_END_OF_FILE
#define STATUS_BUFFER_OVERFLOW
#define STATUS_ACCESS_DENIED
#define STATUS_INVALID_PARAMETER
#define STATUS_UNSUCCESSFUL
#define STATUS_DEVICE_BUSY
#define STATUS_VERIFY_REQUIRED