/* Generated by Frontc */ #line 16 "C:/Program Files/Microsoft Visual Studio/VC98/include/excpt.h" #pragma once #line 32 #pragma pack(push, 8) #line 72 typedef enum _EXCEPTION_DISPOSITION { ExceptionContinueExecution, ExceptionContinueSearch, ExceptionNestedException, ExceptionCollidedUnwind } EXCEPTION_DISPOSITION ; #line 89 struct _EXCEPTION_RECORD ; #line 90 struct _CONTEXT ; EXCEPTION_DISPOSITION __cdecl _except_handler(struct _EXCEPTION_RECORD * ExceptionRecord , void * EstablisherFrame , struct _CONTEXT * ContextRecord , void * DispatcherContext ) ; #line 133 unsigned long __cdecl _exception_code(void ) ; void * __cdecl _exception_info(void ) ; int __cdecl _abnormal_termination(void ) ; #line 155 #pragma pack(pop) #line 25 "C:/NTDDK/inc/ntdef.h" #pragma once #line 15 "C:/Program Files/Microsoft Visual Studio/VC98/include/ctype.h" #pragma once #line 60 typedef unsigned short wchar_t ; #line 66 typedef wchar_t wint_t ; #line 67 typedef wchar_t wctype_t ; #line 106 int __cdecl _isctype(int , int ) ; int __cdecl isalpha(int ) ; int __cdecl isupper(int ) ; int __cdecl islower(int ) ; int __cdecl isdigit(int ) ; int __cdecl isxdigit(int ) ; int __cdecl isspace(int ) ; int __cdecl ispunct(int ) ; int __cdecl isalnum(int ) ; int __cdecl isprint(int ) ; int __cdecl isgraph(int ) ; int __cdecl iscntrl(int ) ; int __cdecl toupper(int ) ; int __cdecl tolower(int ) ; int __cdecl _tolower(int ) ; int __cdecl _toupper(int ) ; int __cdecl __isascii(int ) ; int __cdecl __toascii(int ) ; int __cdecl __iscsymf(int ) ; int __cdecl __iscsym(int ) ; #line 137 int __cdecl iswalpha(wint_t ) ; int __cdecl iswupper(wint_t ) ; int __cdecl iswlower(wint_t ) ; int __cdecl iswdigit(wint_t ) ; int __cdecl iswxdigit(wint_t ) ; int __cdecl iswspace(wint_t ) ; int __cdecl iswpunct(wint_t ) ; int __cdecl iswalnum(wint_t ) ; int __cdecl iswprint(wint_t ) ; int __cdecl iswgraph(wint_t ) ; int __cdecl iswcntrl(wint_t ) ; int __cdecl iswascii(wint_t ) ; int __cdecl isleadbyte(int ) ; #line 151 wchar_t __cdecl towupper(wchar_t ) ; wchar_t __cdecl towlower(wchar_t ) ; #line 154 int __cdecl iswctype(wint_t , wctype_t ) ; #line 157 int __cdecl is_wctype(wint_t , wctype_t ) ; #line 127 "C:/NTDDK/inc/ntdef.h" typedef unsigned long POINTER_64_INT ; #line 25 "C:/NTDDK/inc/basetsd.h" #pragma once #line 36 typedef int LONG32 , * PLONG32 ; #line 37 typedef int INT32 , * PINT32 ; #line 43 typedef unsigned int ULONG32 , * PULONG32 ; #line 44 typedef unsigned int DWORD32 , * PDWORD32 ; #line 45 typedef unsigned int UINT32 , * PUINT32 ; #line 84 typedef int INT_PTR , * PINT_PTR ; #line 85 typedef unsigned int UINT_PTR , * PUINT_PTR ; typedef long LONG_PTR , * PLONG_PTR ; #line 88 typedef unsigned long ULONG_PTR , * PULONG_PTR ; #line 248 typedef unsigned short UHALF_PTR , * PUHALF_PTR ; #line 249 typedef short HALF_PTR , * PHALF_PTR ; #line 250 typedef unsigned long HANDLE_PTR ; #line 288 typedef ULONG_PTR SIZE_T , * PSIZE_T ; #line 289 typedef LONG_PTR SSIZE_T , * PSSIZE_T ; #line 295 typedef ULONG_PTR DWORD_PTR , * PDWORD_PTR ; #line 301 typedef __int64 LONG64 , * PLONG64 ; #line 302 typedef __int64 INT64 , * PINT64 ; #line 309 typedef unsigned __int64 ULONG64 , * PULONG64 ; #line 310 typedef unsigned __int64 DWORD64 , * PDWORD64 ; #line 311 typedef unsigned __int64 UINT64 , * PUINT64 ; #line 217 "C:/NTDDK/inc/ntdef.h" typedef void * PVOID ; #line 218 typedef void * PVOID64 ; #line 266 typedef char CHAR ; #line 267 typedef short SHORT ; #line 268 typedef long LONG ; #line 276 typedef wchar_t WCHAR ; #line 282 typedef WCHAR * PWCHAR ; #line 283 typedef WCHAR * LPWCH , * PWCH ; #line 284 typedef const WCHAR * LPCWCH , * PCWCH ; #line 285 typedef WCHAR * NWPSTR ; #line 286 typedef WCHAR * LPWSTR , * PWSTR ; typedef const WCHAR * LPCWSTR , * PCWSTR ; #line 293 typedef CHAR * PCHAR ; #line 294 typedef CHAR * LPCH , * PCH ; typedef const CHAR * LPCCH , * PCCH ; #line 297 typedef CHAR * NPSTR ; #line 298 typedef CHAR * LPSTR , * PSTR ; #line 299 typedef const CHAR * LPCSTR , * PCSTR ; #line 321 typedef char TCHAR , * PTCHAR ; #line 322 typedef unsigned char TUCHAR , * PTUCHAR ; #line 326 typedef LPSTR LPTCH , PTCH ; #line 327 typedef LPSTR PTSTR , LPTSTR ; #line 328 typedef LPCSTR PCTSTR , LPCTSTR ; #line 337 typedef double DOUBLE ; typedef struct _QUAD { double DoNotUseThisField ; } QUAD ; #line 349 typedef SHORT * PSHORT ; #line 350 typedef LONG * PLONG ; #line 351 typedef QUAD * PQUAD ; #line 360 typedef unsigned char UCHAR ; #line 361 typedef unsigned short USHORT ; #line 362 typedef unsigned long ULONG ; #line 363 typedef QUAD UQUAD ; #line 369 typedef UCHAR * PUCHAR ; #line 370 typedef USHORT * PUSHORT ; #line 371 typedef ULONG * PULONG ; #line 372 typedef UQUAD * PUQUAD ; #line 378 typedef signed char SCHAR ; #line 379 typedef SCHAR * PSCHAR ; #line 394 typedef void * HANDLE ; #line 400 typedef HANDLE * PHANDLE ; #line 406 typedef UCHAR FCHAR ; #line 407 typedef USHORT FSHORT ; #line 408 typedef ULONG FLONG ; #line 414 typedef LONG HRESULT ; #line 478 typedef char CCHAR ; #line 479 typedef short CSHORT ; #line 480 typedef ULONG CLONG ; typedef CCHAR * PCCHAR ; #line 483 typedef CSHORT * PCSHORT ; #line 484 typedef CLONG * PCLONG ; #line 492 typedef ULONG LCID ; #line 493 typedef PULONG PLCID ; #line 494 typedef USHORT LANGID ; #line 500 typedef ULONG LOGICAL ; #line 501 typedef ULONG * PLOGICAL ; #line 508 typedef LONG NTSTATUS ; typedef NTSTATUS * PNTSTATUS ; #line 602 typedef struct _FLOAT128 { __int64 LowPart ; __int64 HighPart ; } FLOAT128 ; typedef FLOAT128 * PFLOAT128 ; #line 621 typedef __int64 LONGLONG ; #line 622 typedef unsigned __int64 ULONGLONG ; #line 639 typedef LONGLONG * PLONGLONG ; #line 640 typedef ULONGLONG * PULONGLONG ; #line 644 typedef LONGLONG USN ; #line 649 typedef union _LARGE_INTEGER { struct { ULONG LowPart ; LONG HighPart ; } ; struct { ULONG LowPart ; LONG HighPart ; } u ; LONGLONG QuadPart ; } LARGE_INTEGER ; #line 662 typedef LARGE_INTEGER * PLARGE_INTEGER ; #line 668 typedef union _ULARGE_INTEGER { struct { ULONG LowPart ; ULONG HighPart ; } ; struct { ULONG LowPart ; ULONG HighPart ; } u ; ULONGLONG QuadPart ; } ULARGE_INTEGER ; #line 681 typedef ULARGE_INTEGER * PULARGE_INTEGER ; #line 690 typedef struct _LUID { ULONG LowPart ; LONG HighPart ; } LUID , * PLUID ; #line 696 typedef ULONGLONG DWORDLONG ; #line 697 typedef DWORDLONG * PDWORDLONG ; #line 707 typedef LARGE_INTEGER PHYSICAL_ADDRESS , * PPHYSICAL_ADDRESS ; #line 809 ULONGLONG __stdcall Int64ShllMod32(ULONGLONG Value , ULONG ShiftCount ) ; #line 816 LONGLONG __stdcall Int64ShraMod32(LONGLONG Value , ULONG ShiftCount ) ; #line 823 ULONGLONG __stdcall Int64ShrlMod32(ULONGLONG Value , ULONG ShiftCount ) ; #line 831 #pragma warning(push) #pragma warning(disable:4035) __inline ULONGLONG __stdcall Int64ShllMod32___0(ULONGLONG Value , ULONG ShiftCount ) { #line 842 __asm { mov ecx, ShiftCount mov eax, dword ptr [Value] mov edx, dword ptr [Value+4] shld edx, eax, cl shl eax, cl }; } #line 845 __inline LONGLONG __stdcall Int64ShraMod32___0(LONGLONG Value , ULONG ShiftCount ) { #line 852 __asm { mov ecx, ShiftCount mov eax, dword ptr [Value] mov edx, dword ptr [Value+4] shrd eax, edx, cl sar edx, cl }; } #line 855 __inline ULONGLONG __stdcall Int64ShrlMod32___0(ULONGLONG Value , ULONG ShiftCount ) { #line 862 __asm { mov ecx, ShiftCount mov eax, dword ptr [Value] mov edx, dword ptr [Value+4] shrd eax, edx, cl shr edx, cl }; } #pragma warning(pop) #line 956 typedef enum _EVENT_TYPE { NotificationEvent, SynchronizationEvent } EVENT_TYPE ; #line 965 typedef enum _TIMER_TYPE { NotificationTimer, SynchronizationTimer } TIMER_TYPE ; #line 974 typedef enum _WAIT_TYPE { WaitAll, WaitAny } WAIT_TYPE ; #line 983 typedef CHAR * PSZ ; #line 984 typedef const char * PCSZ ; #line 991 typedef struct _STRING { USHORT Length ; USHORT MaximumLength ; PCHAR Buffer ; } STRING ; #line 999 typedef STRING * PSTRING ; typedef STRING ANSI_STRING ; #line 1002 typedef PSTRING PANSI_STRING ; typedef STRING OEM_STRING ; #line 1005 typedef PSTRING POEM_STRING ; #line 1011 typedef struct _CSTRING { USHORT Length ; USHORT MaximumLength ; const char * Buffer ; } CSTRING ; #line 1016 typedef CSTRING * PCSTRING ; #line 1019 typedef STRING CANSI_STRING ; #line 1020 typedef PSTRING PCANSI_STRING ; #line 1027 typedef struct _UNICODE_STRING { USHORT Length ; USHORT MaximumLength ; PWSTR Buffer ; } UNICODE_STRING ; #line 1036 typedef UNICODE_STRING * PUNICODE_STRING ; #line 1037 typedef const UNICODE_STRING * PCUNICODE_STRING ; #line 1046 typedef UCHAR BOOLEAN ; #line 1047 typedef BOOLEAN * PBOOLEAN ; #line 1057 typedef struct _LIST_ENTRY { struct _LIST_ENTRY * Flink ; struct _LIST_ENTRY * Blink ; } LIST_ENTRY , * PLIST_ENTRY , * PRLIST_ENTRY ; #line 1067 typedef struct _SINGLE_LIST_ENTRY { struct _SINGLE_LIST_ENTRY * Next ; } SINGLE_LIST_ENTRY , * PSINGLE_LIST_ENTRY ; #line 1078 typedef struct LIST_ENTRY32 { ULONG Flink ; ULONG Blink ; } LIST_ENTRY32 ; #line 1082 typedef LIST_ENTRY32 * PLIST_ENTRY32 ; typedef struct LIST_ENTRY64 { ULONGLONG Flink ; ULONGLONG Blink ; } LIST_ENTRY64 ; #line 1088 typedef LIST_ENTRY64 * PLIST_ENTRY64 ; #line 1094 __inline void ListEntry32To64(PLIST_ENTRY32 l32 , PLIST_ENTRY64 l64 ) { #line 1101 l64->Flink = (ULONGLONG )((LONGLONG )((LONG )l32->Flink)); l64->Blink = (ULONGLONG )((LONGLONG )((LONG )l32->Blink)); } __inline void ListEntry64To32(PLIST_ENTRY64 l64 , PLIST_ENTRY32 l32 ) { #line 1112 l32->Flink = (ULONG )l64->Flink; l32->Blink = (ULONG )l64->Blink; } #line 1127 typedef struct _STRING32 { USHORT Length ; USHORT MaximumLength ; ULONG Buffer ; } STRING32 ; #line 1132 typedef STRING32 * PSTRING32 ; typedef STRING32 UNICODE_STRING32 ; #line 1135 typedef UNICODE_STRING32 * PUNICODE_STRING32 ; typedef STRING32 ANSI_STRING32 ; #line 1138 typedef ANSI_STRING32 * PANSI_STRING32 ; #line 1141 typedef struct _STRING64 { USHORT Length ; USHORT MaximumLength ; ULONGLONG Buffer ; } STRING64 ; #line 1146 typedef STRING64 * PSTRING64 ; typedef STRING64 UNICODE_STRING64 ; #line 1149 typedef UNICODE_STRING64 * PUNICODE_STRING64 ; typedef STRING64 ANSI_STRING64 ; #line 1152 typedef ANSI_STRING64 * PANSI_STRING64 ; #line 1173 typedef struct _OBJECT_ATTRIBUTES { ULONG Length ; HANDLE RootDirectory ; PUNICODE_STRING ObjectName ; ULONG Attributes ; PVOID SecurityDescriptor ; PVOID SecurityQualityOfService ; } OBJECT_ATTRIBUTES ; #line 1181 typedef OBJECT_ATTRIBUTES * POBJECT_ATTRIBUTES ; #line 17 "C:/NTDDK/inc/guiddef.h" typedef struct _GUID { unsigned long Data1 ; unsigned short Data2 ; unsigned short Data3 ; unsigned char Data4[8] ; } GUID ; #line 70 typedef GUID * LPGUID ; #line 75 typedef const GUID * LPCGUID ; #line 81 typedef GUID IID ; #line 82 typedef IID * LPIID ; #line 85 typedef GUID CLSID ; #line 86 typedef CLSID * LPCLSID ; #line 89 typedef GUID FMTID ; #line 90 typedef FMTID * LPFMTID ; #line 16 "C:/NTDDK/inc/string.h" #pragma once #line 54 typedef unsigned int size_t ; #line 93 void * __cdecl memcpy(void * , const void * , size_t ) ; int __cdecl memcmp(const void * , const void * , size_t ) ; void * __cdecl memset(void * , int , size_t ) ; char * __cdecl _strset(char * , int ) ; char * __cdecl strcpy(char * , const char * ) ; char * __cdecl strcat(char * , const char * ) ; int __cdecl strcmp(const char * , const char * ) ; size_t __cdecl strlen(const char * ) ; #line 102 void * __cdecl _memccpy(void * , const void * , int , size_t ) ; void * __cdecl memchr(const void * , int , size_t ) ; int __cdecl _memicmp(const void * , const void * , size_t ) ; #line 110 void * __cdecl memmove(void * , const void * , size_t ) ; #line 114 char * __cdecl strchr(const char * , int ) ; int __cdecl _strcmpi(const char * , const char * ) ; int __cdecl _stricmp(const char * , const char * ) ; int __cdecl strcoll(const char * , const char * ) ; int __cdecl _stricoll(const char * , const char * ) ; int __cdecl _strncoll(const char * , const char * , size_t ) ; int __cdecl _strnicoll(const char * , const char * , size_t ) ; size_t __cdecl strcspn(const char * , const char * ) ; char * __cdecl _strdup(const char * ) ; char * __cdecl _strerror(const char * ) ; char * __cdecl strerror(int ) ; char * __cdecl _strlwr(char * ) ; char * __cdecl strncat(char * , const char * , size_t ) ; int __cdecl strncmp(const char * , const char * , size_t ) ; int __cdecl _strnicmp(const char * , const char * , size_t ) ; char * __cdecl strncpy(char * , const char * , size_t ) ; char * __cdecl _strnset(char * , int , size_t ) ; char * __cdecl strpbrk(const char * , const char * ) ; char * __cdecl strrchr(const char * , int ) ; char * __cdecl _strrev(char * ) ; size_t __cdecl strspn(const char * , const char * ) ; char * __cdecl strstr(const char * , const char * ) ; char * __cdecl strtok(char * , const char * ) ; char * __cdecl _strupr(char * ) ; size_t __cdecl strxfrm(char * , const char * , size_t ) ; #line 144 void * __cdecl memccpy(void * , const void * , int , size_t ) ; int __cdecl memicmp(const void * , const void * , size_t ) ; int __cdecl strcmpi(const char * , const char * ) ; int __cdecl stricmp(const char * , const char * ) ; char * __cdecl strdup(const char * ) ; char * __cdecl strlwr(char * ) ; int __cdecl strnicmp(const char * , const char * , size_t ) ; char * __cdecl strnset(char * , int , size_t ) ; char * __cdecl strrev(char * ) ; char * __cdecl strset(char * , int ) ; char * __cdecl strupr(char * ) ; #line 163 wchar_t * __cdecl wcscat(wchar_t * , const wchar_t * ) ; wchar_t * __cdecl wcschr(const wchar_t * , wchar_t ) ; int __cdecl wcscmp(const wchar_t * , const wchar_t * ) ; wchar_t * __cdecl wcscpy(wchar_t * , const wchar_t * ) ; size_t __cdecl wcscspn(const wchar_t * , const wchar_t * ) ; size_t __cdecl wcslen(const wchar_t * ) ; wchar_t * __cdecl wcsncat(wchar_t * , const wchar_t * , size_t ) ; int __cdecl wcsncmp(const wchar_t * , const wchar_t * , size_t ) ; wchar_t * __cdecl wcsncpy(wchar_t * , const wchar_t * , size_t ) ; wchar_t * __cdecl wcspbrk(const wchar_t * , const wchar_t * ) ; wchar_t * __cdecl wcsrchr(const wchar_t * , wchar_t ) ; size_t __cdecl wcsspn(const wchar_t * , const wchar_t * ) ; wchar_t * __cdecl wcsstr(const wchar_t * , const wchar_t * ) ; wchar_t * __cdecl wcstok(wchar_t * , const wchar_t * ) ; #line 178 wchar_t * __cdecl _wcsdup(const wchar_t * ) ; int __cdecl _wcsicmp(const wchar_t * , const wchar_t * ) ; int __cdecl _wcsnicmp(const wchar_t * , const wchar_t * , size_t ) ; wchar_t * __cdecl _wcsnset(wchar_t * , wchar_t , size_t ) ; wchar_t * __cdecl _wcsrev(wchar_t * ) ; wchar_t * __cdecl _wcsset(wchar_t * , wchar_t ) ; #line 185 wchar_t * __cdecl _wcslwr(wchar_t * ) ; wchar_t * __cdecl _wcsupr(wchar_t * ) ; size_t __cdecl wcsxfrm(wchar_t * , const wchar_t * , size_t ) ; int __cdecl wcscoll(const wchar_t * , const wchar_t * ) ; int __cdecl _wcsicoll(const wchar_t * , const wchar_t * ) ; int __cdecl _wcsncoll(const wchar_t * , const wchar_t * , size_t ) ; int __cdecl _wcsnicoll(const wchar_t * , const wchar_t * , size_t ) ; #line 199 wchar_t * __cdecl wcsdup(const wchar_t * ) ; int __cdecl wcsicmp(const wchar_t * , const wchar_t * ) ; int __cdecl wcsnicmp(const wchar_t * , const wchar_t * , size_t ) ; wchar_t * __cdecl wcsnset(wchar_t * , wchar_t , size_t ) ; wchar_t * __cdecl wcsrev(wchar_t * ) ; wchar_t * __cdecl wcsset(wchar_t * , wchar_t ) ; wchar_t * __cdecl wcslwr(wchar_t * ) ; wchar_t * __cdecl wcsupr(wchar_t * ) ; int __cdecl wcsicoll(const wchar_t * , const wchar_t * ) ; #line 1233 "C:/NTDDK/inc/ntdef.h" typedef struct _OBJECTID { GUID Lineage ; ULONG Uniquifier ; } OBJECTID ; #line 1288 struct _CONTEXT ; #line 1289 struct _EXCEPTION_RECORD ; typedef EXCEPTION_DISPOSITION ( * PEXCEPTION_ROUTINE )(struct _EXCEPTION_RECORD * ExceptionRecord , PVOID EstablisherFrame , struct _CONTEXT * ContextRecord , PVOID DispatcherContext ) ; #line 1306 typedef UCHAR KIRQL ; typedef KIRQL * PKIRQL ; #line 1316 typedef enum _NT_PRODUCT_TYPE { NtProductWinNt = 1, NtProductLanManNt, NtProductServer } NT_PRODUCT_TYPE , * PNT_PRODUCT_TYPE ; #line 1329 typedef enum _SUITE_TYPE { SmallBusiness, Enterprise, BackOffice, CommunicationServer, TerminalServer, SmallBusinessRestricted, EmbeddedNT, DataCenter, SingleUserTS, MaxSuiteType } SUITE_TYPE ; #line 75 "C:/NTDDK/inc/ddk/ntddk.h" typedef struct _KTHREAD * PKTHREAD ; #line 76 typedef struct _ETHREAD * PETHREAD ; #line 77 typedef struct _EPROCESS * PEPROCESS ; #line 78 typedef struct _PEB * PPEB ; #line 79 typedef struct _KINTERRUPT * PKINTERRUPT ; #line 80 typedef struct _IO_TIMER * PIO_TIMER ; #line 81 typedef struct _OBJECT_TYPE * POBJECT_TYPE ; #line 82 typedef struct _CALLBACK_OBJECT * PCALLBACK_OBJECT___0 ; #line 83 typedef struct _DEVICE_HANDLER_OBJECT * PDEVICE_HANDLER_OBJECT ; #line 84 typedef struct _BUS_HANDLER * PBUS_HANDLER ; #line 101 PKTHREAD __stdcall KeGetCurrentThread() ; #line 124 extern PCCHAR KeNumberProcessors ; #line 143 typedef union _SLIST_HEADER { ULONGLONG Alignment ; struct { SINGLE_LIST_ENTRY Next ; USHORT Depth ; USHORT Sequence ; } ; } SLIST_HEADER , * PSLIST_HEADER ; #line 204 typedef CCHAR KPROCESSOR_MODE ; typedef enum _MODE { KernelMode, UserMode, MaximumMode } MODE ; #line 222 struct _KAPC ; typedef void ( * PKNORMAL_ROUTINE )(PVOID NormalContext , PVOID SystemArgument1 , PVOID SystemArgument2 ) ; #line 232 typedef void ( * PKKERNEL_ROUTINE )(struct _KAPC * Apc , PKNORMAL_ROUTINE * NormalRoutine , PVOID * NormalContext , PVOID * SystemArgument1 , PVOID * SystemArgument2 ) ; #line 242 typedef void ( * PKRUNDOWN_ROUTINE )(struct _KAPC * Apc ) ; #line 248 typedef BOOLEAN ( * PKSYNCHRONIZE_ROUTINE )(PVOID SynchronizeContext ) ; #line 254 typedef BOOLEAN ( * PKTRANSFER_ROUTINE )(void ) ; #line 265 typedef struct _KAPC { CSHORT Type ; CSHORT Size ; ULONG Spare0 ; struct _KTHREAD * Thread ; LIST_ENTRY ApcListEntry ; PKKERNEL_ROUTINE KernelRoutine ; PKRUNDOWN_ROUTINE RundownRoutine ; PKNORMAL_ROUTINE NormalRoutine ; PVOID NormalContext ; PVOID SystemArgument1 ; PVOID SystemArgument2 ; CCHAR ApcStateIndex ; KPROCESSOR_MODE ApcMode ; BOOLEAN Inserted ; } KAPC , * PKAPC , * PRKAPC ; #line 292 struct _KDPC ; typedef void ( * PKDEFERRED_ROUTINE )(struct _KDPC * Dpc , PVOID DeferredContext , PVOID SystemArgument1 , PVOID SystemArgument2 ) ; #line 351 typedef enum _KDPC_IMPORTANCE { LowImportance, MediumImportance, HighImportance } KDPC_IMPORTANCE ; #line 361 typedef struct _KDPC { CSHORT Type ; UCHAR Number ; UCHAR Importance ; LIST_ENTRY DpcListEntry ; PKDEFERRED_ROUTINE DeferredRoutine ; PVOID DeferredContext ; PVOID SystemArgument1 ; PVOID SystemArgument2 ; PULONG_PTR Lock ; } KDPC , * PKDPC , * PRKDPC ; #line 377 typedef PVOID PKIPI_CONTEXT ; typedef void ( * PKIPI_WORKER )(PKIPI_CONTEXT PacketContext , PVOID Parameter1 , PVOID Parameter2 , PVOID Parameter3 ) ; #line 392 typedef struct _KIPI_COUNTS { ULONG Freeze ; ULONG Packet ; ULONG DPC ; ULONG APC ; ULONG FlushSingleTb ; ULONG FlushMultipleTb ; ULONG FlushEntireTb ; ULONG GenericCall ; ULONG ChangeColor ; ULONG SweepDcache ; ULONG SweepIcache ; ULONG SweepIcacheRange ; ULONG FlushIoBuffers ; ULONG GratuitousDPC ; } KIPI_COUNTS , * PKIPI_COUNTS ; #line 443 typedef struct _MDL { struct _MDL * Next ; CSHORT Size ; CSHORT MdlFlags ; struct _EPROCESS * Process ; PVOID MappedSystemVa ; PVOID StartVa ; ULONG ByteCount ; ULONG ByteOffset ; } MDL , * PMDL ; #line 532 typedef PVOID PACCESS_TOKEN ; #line 538 typedef PVOID PSECURITY_DESCRIPTOR ; #line 544 typedef PVOID PSID ; typedef ULONG ACCESS_MASK ; #line 547 typedef ACCESS_MASK * PACCESS_MASK ; #line 597 typedef struct _GENERIC_MAPPING { ACCESS_MASK GenericRead ; ACCESS_MASK GenericWrite ; ACCESS_MASK GenericExecute ; ACCESS_MASK GenericAll ; } GENERIC_MAPPING ; #line 603 typedef GENERIC_MAPPING * PGENERIC_MAPPING ; #line 24 "C:/NTDDK/inc/pshpack4.h" #pragma warning(disable:4103) #pragma pack(push, 4) #line 618 "C:/NTDDK/inc/ddk/ntddk.h" typedef struct _LUID_AND_ATTRIBUTES { LUID Luid ; ULONG Attributes ; } LUID_AND_ATTRIBUTES , * PLUID_AND_ATTRIBUTES ; #line 622 typedef LUID_AND_ATTRIBUTES LUID_AND_ATTRIBUTES_ARRAY[1] ; #line 623 typedef LUID_AND_ATTRIBUTES_ARRAY * PLUID_AND_ATTRIBUTES_ARRAY ; #line 27 "C:/NTDDK/inc/poppack.h" #pragma warning(disable:4103) #pragma pack(pop) #line 642 "C:/NTDDK/inc/ddk/ntddk.h" typedef struct _ACL { UCHAR AclRevision ; UCHAR Sbz1 ; USHORT AclSize ; USHORT AceCount ; USHORT Sbz2 ; } ACL ; #line 649 typedef ACL * PACL ; #line 681 typedef struct _PRIVILEGE_SET { ULONG PrivilegeCount ; ULONG Control ; LUID_AND_ATTRIBUTES Privilege[1] ; } PRIVILEGE_SET , * PPRIVILEGE_SET ; #line 735 typedef enum _SECURITY_IMPERSONATION_LEVEL { SecurityAnonymous, SecurityIdentification, SecurityImpersonation, SecurityDelegation } SECURITY_IMPERSONATION_LEVEL , * PSECURITY_IMPERSONATION_LEVEL ; #line 753 typedef BOOLEAN SECURITY_CONTEXT_TRACKING_MODE , * PSECURITY_CONTEXT_TRACKING_MODE ; #line 762 typedef struct _SECURITY_QUALITY_OF_SERVICE { ULONG Length ; SECURITY_IMPERSONATION_LEVEL ImpersonationLevel ; SECURITY_CONTEXT_TRACKING_MODE ContextTrackingMode ; BOOLEAN EffectiveOnly ; } SECURITY_QUALITY_OF_SERVICE , * PSECURITY_QUALITY_OF_SERVICE ; #line 774 typedef struct _SE_IMPERSONATION_STATE { PACCESS_TOKEN Token ; BOOLEAN CopyOnOpen ; BOOLEAN EffectiveOnly ; SECURITY_IMPERSONATION_LEVEL Level ; } SE_IMPERSONATION_STATE , * PSE_IMPERSONATION_STATE ; #line 782 typedef ULONG SECURITY_INFORMATION , * PSECURITY_INFORMATION ; #line 809 typedef ULONG KAFFINITY ; #line 810 typedef KAFFINITY * PKAFFINITY ; #line 816 typedef LONG KPRIORITY ; #line 824 typedef ULONG_PTR KSPIN_LOCK ; #line 825 typedef KSPIN_LOCK * PKSPIN_LOCK ; #line 833 typedef void ( * PKINTERRUPT_ROUTINE )(void ) ; #line 842 typedef enum _KPROFILE_SOURCE { ProfileTime, ProfileAlignmentFixup, ProfileTotalIssues, ProfilePipelineDry, ProfileLoadInstructions, ProfilePipelineFrozen, ProfileBranchInstructions, ProfileTotalNonissues, ProfileDcacheMisses, ProfileIcacheMisses, ProfileCacheMisses, ProfileBranchMispredictions, ProfileStoreInstructions, ProfileFpInstructions, ProfileIntegerInstructions, Profile2Issue, Profile3Issue, Profile4Issue, ProfileSpecialInstructions, ProfileTotalCycles, ProfileIcacheIssues, ProfileDcacheAccesses, ProfileMemoryBarrierCycles, ProfileLoadLinkedIssues, ProfileMaximum } KPROFILE_SOURCE ; #line 1058 __declspec(dllimport) void __stdcall RtlGetCallersAddress(PVOID * CallersAddress , PVOID * CallersCaller ) ; #line 1067 __declspec(dllimport) ULONG __stdcall RtlWalkFrameChain(PVOID * Callers , ULONG Count , ULONG Flags ) ; #line 1079 typedef NTSTATUS (__stdcall * PRTL_QUERY_REGISTRY_ROUTINE )(PWSTR ValueName , ULONG ValueType , PVOID ValueData , ULONG ValueLength , PVOID Context , PVOID EntryContext ) ; #line 1088 typedef struct _RTL_QUERY_REGISTRY_TABLE { PRTL_QUERY_REGISTRY_ROUTINE QueryRoutine ; ULONG Flags ; PWSTR Name ; PVOID EntryContext ; ULONG DefaultType ; PVOID DefaultData ; ULONG DefaultLength ; } RTL_QUERY_REGISTRY_TABLE , * PRTL_QUERY_REGISTRY_TABLE ; #line 1136 __declspec(dllimport) NTSTATUS __stdcall RtlQueryRegistryValues(ULONG RelativeTo , PCWSTR Path , PRTL_QUERY_REGISTRY_TABLE QueryTable , PVOID Context , PVOID Environment ) ; #line 1147 __declspec(dllimport) NTSTATUS __stdcall RtlWriteRegistryValue(ULONG RelativeTo , PCWSTR Path , PCWSTR ValueName , ULONG ValueType , PVOID ValueData , ULONG ValueLength ) ; #line 1159 __declspec(dllimport) NTSTATUS __stdcall RtlDeleteRegistryValue(ULONG RelativeTo , PCWSTR Path , PCWSTR ValueName ) ; #line 1170 __declspec(dllimport) NTSTATUS __stdcall RtlCreateRegistryKey(ULONG RelativeTo , PWSTR Path ) ; #line 1178 __declspec(dllimport) NTSTATUS __stdcall RtlCheckRegistryKey(ULONG RelativeTo , PWSTR Path ) ; #line 1202 __declspec(dllimport) NTSTATUS __stdcall RtlCharToInteger(PCSZ String , ULONG Base , PULONG Value ) ; #line 1211 __declspec(dllimport) NTSTATUS __stdcall RtlIntegerToUnicodeString(ULONG Value , ULONG Base , PUNICODE_STRING String ) ; #line 1220 __declspec(dllimport) NTSTATUS __stdcall RtlInt64ToUnicodeString(ULONGLONG Value , ULONG Base , PUNICODE_STRING String ) ; #line 1235 __declspec(dllimport) NTSTATUS __stdcall RtlUnicodeStringToInteger(PUNICODE_STRING String , ULONG Base , PULONG Value ) ; #line 1261 extern BOOLEAN ( * NlsMbCodePageTag ) ; extern BOOLEAN ( * NlsMbOemCodePageTag ) ; #line 1264 __declspec(dllimport) void __stdcall RtlInitString(PSTRING DestinationString , PCSZ SourceString ) ; #line 1272 __declspec(dllimport) void __stdcall RtlInitAnsiString(PANSI_STRING DestinationString , PCSZ SourceString ) ; #line 1280 __declspec(dllimport) void __stdcall RtlInitUnicodeString(PUNICODE_STRING DestinationString , PCWSTR SourceString ) ; #line 1289 __declspec(dllimport) void __stdcall RtlCopyString(PSTRING DestinationString , PSTRING SourceString ) ; #line 1297 __declspec(dllimport) CHAR __stdcall RtlUpperChar(CHAR Character ) ; #line 1304 __declspec(dllimport) LONG __stdcall RtlCompareString(PSTRING String1 , PSTRING String2 , BOOLEAN CaseInSensitive ) ; #line 1313 __declspec(dllimport) BOOLEAN __stdcall RtlEqualString(PSTRING String1 , PSTRING String2 , BOOLEAN CaseInSensitive ) ; #line 1323 __declspec(dllimport) void __stdcall RtlUpperString(PSTRING DestinationString , PSTRING SourceString ) ; #line 1335 __declspec(dllimport) NTSTATUS __stdcall RtlAnsiStringToUnicodeString(PUNICODE_STRING DestinationString , PANSI_STRING SourceString , BOOLEAN AllocateDestinationString ) ; #line 1345 __declspec(dllimport) NTSTATUS __stdcall RtlUnicodeStringToAnsiString(PANSI_STRING DestinationString , PUNICODE_STRING SourceString , BOOLEAN AllocateDestinationString ) ; #line 1355 __declspec(dllimport) LONG __stdcall RtlCompareUnicodeString(PUNICODE_STRING String1 , PUNICODE_STRING String2 , BOOLEAN CaseInSensitive ) ; #line 1364 __declspec(dllimport) BOOLEAN __stdcall RtlEqualUnicodeString(const UNICODE_STRING * String1 , const UNICODE_STRING * String2 , BOOLEAN CaseInSensitive ) ; #line 1375 __declspec(dllimport) BOOLEAN __stdcall RtlPrefixUnicodeString(PUNICODE_STRING String1 , PUNICODE_STRING String2 , BOOLEAN CaseInSensitive ) ; #line 1384 __declspec(dllimport) NTSTATUS __stdcall RtlUpcaseUnicodeString(PUNICODE_STRING DestinationString , PCUNICODE_STRING SourceString , BOOLEAN AllocateDestinationString ) ; #line 1394 __declspec(dllimport) void __stdcall RtlCopyUnicodeString(PUNICODE_STRING DestinationString , PUNICODE_STRING SourceString ) ; #line 1402 __declspec(dllimport) NTSTATUS __stdcall RtlAppendUnicodeStringToString(PUNICODE_STRING Destination , PUNICODE_STRING Source ) ; #line 1410 __declspec(dllimport) NTSTATUS __stdcall RtlAppendUnicodeToString(PUNICODE_STRING Destination , PCWSTR Source ) ; #line 1420 __declspec(dllimport) WCHAR __stdcall RtlUpcaseUnicodeChar(WCHAR SourceCharacter ) ; #line 1429 __declspec(dllimport) void __stdcall RtlFreeUnicodeString(PUNICODE_STRING UnicodeString ) ; #line 1436 __declspec(dllimport) void __stdcall RtlFreeAnsiString(PANSI_STRING AnsiString ) ; #line 1444 __declspec(dllimport) ULONG __stdcall RtlxAnsiStringToUnicodeSize(PANSI_STRING AnsiString ) ; #line 1494 __declspec(dllimport) NTSTATUS __stdcall RtlStringFromGUID(const GUID * const Guid , PUNICODE_STRING GuidString ) ; #line 1502 __declspec(dllimport) NTSTATUS __stdcall RtlGUIDFromString(PUNICODE_STRING GuidString , GUID * Guid ) ; #line 1516 __declspec(dllimport) SIZE_T __stdcall RtlCompareMemory(const void * Source1 , const void * Source2 , SIZE_T Length ) ; #line 1641 void __stdcall DbgBreakPoint(void ) ; #line 1649 __declspec(dllimport) void __stdcall DbgBreakPointWithStatus(ULONG Status ) ; #line 1690 ULONG _cdecl DbgPrint(PCH Format , ...) ; #line 1699 ULONG _cdecl DbgPrintReturnControlC(PCH Format , ...) ; #line 1718 __inline LARGE_INTEGER __stdcall RtlLargeIntegerAdd(LARGE_INTEGER Addend1 , LARGE_INTEGER Addend2 ) { #line 1726 LARGE_INTEGER Sum ; #line 1728 Sum.QuadPart = Addend1.QuadPart + Addend2.QuadPart; return Sum; } #line 1736 __inline LARGE_INTEGER __stdcall RtlEnlargedIntegerMultiply(LONG Multiplicand , LONG Multiplier ) { #line 1744 LARGE_INTEGER Product ; #line 1746 Product.QuadPart = (LONGLONG )Multiplicand * (ULONGLONG )Multiplier; return Product; } #line 1754 __inline LARGE_INTEGER __stdcall RtlEnlargedUnsignedMultiply(ULONG Multiplicand , ULONG Multiplier ) { #line 1762 LARGE_INTEGER Product ; #line 1764 Product.QuadPart = (ULONGLONG )Multiplicand * (ULONGLONG )Multiplier; return Product; } #line 1772 __inline ULONG __stdcall RtlEnlargedUnsignedDivide(ULARGE_INTEGER Dividend , ULONG Divisor , PULONG Remainder ) { #line 1781 ULONG Quotient ; #line 1783 Quotient = (ULONG )(Dividend.QuadPart / Divisor); if((CHAR * )Remainder != (CHAR * )((void * )0)) { * Remainder = (ULONG )(Dividend.QuadPart % Divisor); } #line 1789 return Quotient; } #line 1796 __inline LARGE_INTEGER __stdcall RtlLargeIntegerNegate(LARGE_INTEGER Subtrahend ) { #line 1803 LARGE_INTEGER Difference ; #line 1805 Difference.QuadPart = - Subtrahend.QuadPart; return Difference; } #line 1813 __inline LARGE_INTEGER __stdcall RtlLargeIntegerSubtract(LARGE_INTEGER Minuend , LARGE_INTEGER Subtrahend ) { #line 1821 LARGE_INTEGER Difference ; #line 1823 Difference.QuadPart = Minuend.QuadPart - Subtrahend.QuadPart; return Difference; } #line 1833 __declspec(dllimport) LARGE_INTEGER __stdcall RtlExtendedMagicDivide(LARGE_INTEGER Dividend , LARGE_INTEGER MagicDivisor , CCHAR ShiftCount ) ; #line 1846 __declspec(dllimport) LARGE_INTEGER __stdcall RtlExtendedLargeIntegerDivide(LARGE_INTEGER Dividend , ULONG Divisor , PULONG Remainder ) ; #line 1860 __declspec(dllimport) LARGE_INTEGER __stdcall RtlLargeIntegerDivide(LARGE_INTEGER Dividend , LARGE_INTEGER Divisor , PLARGE_INTEGER Remainder ) ; #line 1874 __declspec(dllimport) LARGE_INTEGER __stdcall RtlExtendedIntegerMultiply(LARGE_INTEGER Multiplicand , LONG Multiplier ) ; #line 1952 #pragma warning(push) #pragma warning(disable:4035) #line 1960 __inline LARGE_INTEGER __stdcall RtlConvertLongToLargeInteger(LONG SignedInteger ) { #line 1966 __asm { mov eax, SignedInteger cdq ; (edx:eax) = signed LargeInt }; } #line 1973 __inline LARGE_INTEGER __stdcall RtlConvertUlongToLargeInteger(ULONG UnsignedInteger ) { #line 1979 __asm { sub edx, edx ; zero highpart mov eax, UnsignedInteger }; } #line 1986 __inline LARGE_INTEGER __stdcall RtlLargeIntegerShiftLeft(LARGE_INTEGER LargeInteger , CCHAR ShiftCount ) { #line 1993 __asm { mov cl, ShiftCount and cl, 0x3f ; mod 64 cmp cl, 32 jc short sl10 mov edx, LargeInteger.LowPart ; ShiftCount >= 32 xor eax, eax ; lowpart is zero shl edx, cl ; store highpart jmp short done sl10: mov eax, LargeInteger.LowPart ; ShiftCount < 32 mov edx, LargeInteger.HighPart shld edx, eax, cl shl eax, cl done: }; } __inline LARGE_INTEGER __stdcall RtlLargeIntegerShiftRight(LARGE_INTEGER LargeInteger , CCHAR ShiftCount ) { #line 2004 __asm { mov cl, ShiftCount and cl, 0x3f ; mod 64 cmp cl, 32 jc short sr10 mov eax, LargeInteger.HighPart ; ShiftCount >= 32 xor edx, edx ; lowpart is zero shr eax, cl ; store highpart jmp short done sr10: mov eax, LargeInteger.LowPart ; ShiftCount < 32 mov edx, LargeInteger.HighPart shrd eax, edx, cl shr edx, cl done: }; } __inline LARGE_INTEGER __stdcall RtlLargeIntegerArithmeticShift(LARGE_INTEGER LargeInteger , CCHAR ShiftCount ) { #line 2015 __asm { mov cl, ShiftCount and cl, 3fh ; mod 64 cmp cl, 32 jc short sar10 mov eax, LargeInteger.HighPart sar eax, cl bt eax, 31 ; sign bit set? sbb edx, edx ; duplicate sign bit into highpart jmp short done sar10: mov eax, LargeInteger.LowPart ; (eax) = LargeInteger.LowPart mov edx, LargeInteger.HighPart ; (edx) = LargeInteger.HighPart shrd eax, edx, cl sar edx, cl done: }; } #pragma warning(pop) #line 2214 typedef struct _TIME_FIELDS { CSHORT Year ; CSHORT Month ; CSHORT Day ; CSHORT Hour ; CSHORT Minute ; CSHORT Second ; CSHORT Milliseconds ; CSHORT Weekday ; } TIME_FIELDS ; #line 2224 typedef TIME_FIELDS * PTIME_FIELDS ; #line 2227 __declspec(dllimport) void __stdcall RtlTimeToTimeFields(PLARGE_INTEGER Time , PTIME_FIELDS TimeFields ) ; #line 2239 __declspec(dllimport) BOOLEAN __stdcall RtlTimeFieldsToTime(PTIME_FIELDS TimeFields , PLARGE_INTEGER Time ) ; #line 2499 typedef struct _RTL_BITMAP { ULONG SizeOfBitMap ; PULONG Buffer ; } RTL_BITMAP ; #line 2503 typedef RTL_BITMAP * PRTL_BITMAP ; #line 2511 __declspec(dllimport) void __stdcall RtlInitializeBitMap(PRTL_BITMAP BitMapHeader , PULONG BitMapBuffer , ULONG SizeOfBitMap ) ; #line 2525 __declspec(dllimport) void __stdcall RtlClearAllBits(PRTL_BITMAP BitMapHeader ) ; #line 2532 __declspec(dllimport) void __stdcall RtlSetAllBits(PRTL_BITMAP BitMapHeader ) ; #line 2549 __declspec(dllimport) ULONG __stdcall RtlFindClearBits(PRTL_BITMAP BitMapHeader , ULONG NumberToFind , ULONG HintIndex ) ; #line 2558 __declspec(dllimport) ULONG __stdcall RtlFindSetBits(PRTL_BITMAP BitMapHeader , ULONG NumberToFind , ULONG HintIndex ) ; #line 2578 __declspec(dllimport) ULONG __stdcall RtlFindClearBitsAndSet(PRTL_BITMAP BitMapHeader , ULONG NumberToFind , ULONG HintIndex ) ; #line 2587 __declspec(dllimport) ULONG __stdcall RtlFindSetBitsAndClear(PRTL_BITMAP BitMapHeader , ULONG NumberToFind , ULONG HintIndex ) ; #line 2601 __declspec(dllimport) void __stdcall RtlClearBits(PRTL_BITMAP BitMapHeader , ULONG StartingIndex , ULONG NumberToClear ) ; #line 2610 __declspec(dllimport) void __stdcall RtlSetBits(PRTL_BITMAP BitMapHeader , ULONG StartingIndex , ULONG NumberToSet ) ; #line 2627 typedef struct _RTL_BITMAP_RUN { ULONG StartingIndex ; ULONG NumberOfBits ; } RTL_BITMAP_RUN ; #line 2633 typedef RTL_BITMAP_RUN * PRTL_BITMAP_RUN ; __declspec(dllimport) ULONG __stdcall RtlFindClearRuns(PRTL_BITMAP BitMapHeader , PRTL_BITMAP_RUN RunArray , ULONG SizeOfRunArray , BOOLEAN LocateLongestRuns ) ; #line 2652 __declspec(dllimport) ULONG __stdcall RtlFindLongestRunClear(PRTL_BITMAP BitMapHeader , PULONG StartingIndex ) ; #line 2667 __declspec(dllimport) ULONG __stdcall RtlFindFirstRunClear(PRTL_BITMAP BitMapHeader , PULONG StartingIndex ) ; #line 2699 __declspec(dllimport) ULONG __stdcall RtlNumberOfClearBits(PRTL_BITMAP BitMapHeader ) ; #line 2706 __declspec(dllimport) ULONG __stdcall RtlNumberOfSetBits(PRTL_BITMAP BitMapHeader ) ; #line 2718 __declspec(dllimport) BOOLEAN __stdcall RtlAreBitsClear(PRTL_BITMAP BitMapHeader , ULONG StartingIndex , ULONG Length ) ; #line 2727 __declspec(dllimport) BOOLEAN __stdcall RtlAreBitsSet(PRTL_BITMAP BitMapHeader , ULONG StartingIndex , ULONG Length ) ; #line 2736 __declspec(dllimport) ULONG __stdcall RtlFindNextForwardRunClear(PRTL_BITMAP BitMapHeader , ULONG FromIndex , PULONG StartingRunIndex ) ; #line 2745 __declspec(dllimport) ULONG __stdcall RtlFindLastBackwardRunClear(PRTL_BITMAP BitMapHeader , ULONG FromIndex , PULONG StartingRunIndex ) ; #line 2760 __declspec(dllimport) CCHAR __stdcall RtlFindLeastSignificantBit(ULONGLONG Set ) ; #line 2767 __declspec(dllimport) CCHAR __stdcall RtlFindMostSignificantBit(ULONGLONG Set ) ; #line 2796 __inline LUID __stdcall RtlConvertLongToLuid(LONG Long ) { #line 2802 LUID TempLuid ; LARGE_INTEGER TempLi ; #line 2805 TempLi = RtlConvertLongToLargeInteger(Long); TempLuid.LowPart = TempLi.LowPart; TempLuid.HighPart = TempLi.HighPart; return TempLuid; } __inline LUID __stdcall RtlConvertUlongToLuid(ULONG Ulong ) { #line 2817 LUID TempLuid ; #line 2819 TempLuid.LowPart = Ulong; TempLuid.HighPart = 0; return TempLuid; } #line 2826 __declspec(dllimport) void __stdcall RtlMapGenericMask(PACCESS_MASK AccessMask , PGENERIC_MAPPING GenericMapping ) ; #line 2837 __declspec(dllimport) NTSTATUS __stdcall RtlCreateSecurityDescriptor(PSECURITY_DESCRIPTOR SecurityDescriptor , ULONG Revision ) ; #line 2846 __declspec(dllimport) BOOLEAN __stdcall RtlValidSecurityDescriptor(PSECURITY_DESCRIPTOR SecurityDescriptor ) ; #line 2854 __declspec(dllimport) ULONG __stdcall RtlLengthSecurityDescriptor(PSECURITY_DESCRIPTOR SecurityDescriptor ) ; #line 2861 __declspec(dllimport) BOOLEAN __stdcall RtlValidRelativeSecurityDescriptor(PSECURITY_DESCRIPTOR SecurityDescriptorInput , ULONG SecurityDescriptorLength , SECURITY_INFORMATION RequiredInformation ) ; #line 2871 __declspec(dllimport) NTSTATUS __stdcall RtlSetDaclSecurityDescriptor(PSECURITY_DESCRIPTOR SecurityDescriptor , BOOLEAN DaclPresent , PACL Dacl , BOOLEAN DaclDefaulted ) ; #line 2886 typedef struct _RTL_RANGE { ULONGLONG Start ; ULONGLONG End ; PVOID UserData ; PVOID Owner ; UCHAR Attributes ; UCHAR Flags ; } RTL_RANGE , * PRTL_RANGE ; #line 2924 typedef struct _RTL_RANGE_LIST { LIST_ENTRY ListHead ; ULONG Flags ; ULONG Count ; ULONG Stamp ; } RTL_RANGE_LIST , * PRTL_RANGE_LIST ; #line 2950 typedef struct _RANGE_LIST_ITERATOR { PLIST_ENTRY RangeListHead ; PLIST_ENTRY MergedHead ; PVOID Current ; ULONG Stamp ; } RTL_RANGE_LIST_ITERATOR , * PRTL_RANGE_LIST_ITERATOR ; #line 2960 __declspec(dllimport) void __stdcall RtlInitializeRangeList(PRTL_RANGE_LIST RangeList ) ; #line 2967 __declspec(dllimport) void __stdcall RtlFreeRangeList(PRTL_RANGE_LIST RangeList ) ; #line 2974 __declspec(dllimport) NTSTATUS __stdcall RtlCopyRangeList(PRTL_RANGE_LIST CopyRangeList , PRTL_RANGE_LIST RangeList ) ; #line 2985 __declspec(dllimport) NTSTATUS __stdcall RtlAddRange(PRTL_RANGE_LIST RangeList , ULONGLONG Start , ULONGLONG End , UCHAR Attributes , ULONG Flags , PVOID UserData , PVOID Owner ) ; #line 2998 __declspec(dllimport) NTSTATUS __stdcall RtlDeleteRange(PRTL_RANGE_LIST RangeList , ULONGLONG Start , ULONGLONG End , PVOID Owner ) ; #line 3008 __declspec(dllimport) NTSTATUS __stdcall RtlDeleteOwnersRanges(PRTL_RANGE_LIST RangeList , PVOID Owner ) ; #line 3019 typedef BOOLEAN ( * PRTL_CONFLICT_RANGE_CALLBACK )(PVOID Context , PRTL_RANGE Range ) ; #line 3026 __declspec(dllimport) NTSTATUS __stdcall RtlFindRange(PRTL_RANGE_LIST RangeList , ULONGLONG Minimum , ULONGLONG Maximum , ULONG Length , ULONG Alignment , ULONG Flags , UCHAR AttributeAvailableMask , PVOID Context , PRTL_CONFLICT_RANGE_CALLBACK Callback , PULONGLONG Start ) ; #line 3042 __declspec(dllimport) NTSTATUS __stdcall RtlIsRangeAvailable(PRTL_RANGE_LIST RangeList , ULONGLONG Start , ULONGLONG End , ULONG Flags , UCHAR AttributeAvailableMask , PVOID Context , PRTL_CONFLICT_RANGE_CALLBACK Callback , PBOOLEAN Available ) ; #line 3068 __declspec(dllimport) NTSTATUS __stdcall RtlGetFirstRange(PRTL_RANGE_LIST RangeList , PRTL_RANGE_LIST_ITERATOR Iterator , PRTL_RANGE * Range ) ; #line 3077 __declspec(dllimport) NTSTATUS __stdcall RtlGetLastRange(PRTL_RANGE_LIST RangeList , PRTL_RANGE_LIST_ITERATOR Iterator , PRTL_RANGE * Range ) ; #line 3086 __declspec(dllimport) NTSTATUS __stdcall RtlGetNextRange(PRTL_RANGE_LIST_ITERATOR Iterator , PRTL_RANGE * Range , BOOLEAN MoveForwards ) ; #line 3097 __declspec(dllimport) NTSTATUS __stdcall RtlMergeRangeLists(PRTL_RANGE_LIST MergedRangeList , PRTL_RANGE_LIST RangeList1 , PRTL_RANGE_LIST RangeList2 , ULONG Flags ) ; #line 3107 __declspec(dllimport) NTSTATUS __stdcall RtlInvertRangeList(PRTL_RANGE_LIST InvertedRangeList , PRTL_RANGE_LIST RangeList ) ; #line 3124 USHORT _fastcall RtlUshortByteSwap(USHORT Source ) ; #line 3130 ULONG _fastcall RtlUlongByteSwap(ULONG Source ) ; #line 3136 ULONGLONG _fastcall RtlUlonglongByteSwap(ULONGLONG Source ) ; #line 3147 __declspec(dllimport) NTSTATUS __stdcall RtlVolumeDeviceToDosName(PVOID VolumeDeviceObject , PUNICODE_STRING DosName ) ; #line 3155 typedef struct _OSVERSIONINFOA { ULONG dwOSVersionInfoSize ; ULONG dwMajorVersion ; ULONG dwMinorVersion ; ULONG dwBuildNumber ; ULONG dwPlatformId ; CHAR szCSDVersion[128] ; } OSVERSIONINFOA , * POSVERSIONINFOA , * LPOSVERSIONINFOA ; typedef struct _OSVERSIONINFOW { ULONG dwOSVersionInfoSize ; ULONG dwMajorVersion ; ULONG dwMinorVersion ; ULONG dwBuildNumber ; ULONG dwPlatformId ; WCHAR szCSDVersion[128] ; } OSVERSIONINFOW , * POSVERSIONINFOW , * LPOSVERSIONINFOW , RTL_OSVERSIONINFOW , * PRTL_OSVERSIONINFOW ; #line 3177 typedef OSVERSIONINFOA OSVERSIONINFO ; #line 3178 typedef POSVERSIONINFOA POSVERSIONINFO ; #line 3179 typedef LPOSVERSIONINFOA LPOSVERSIONINFO ; #line 3182 typedef struct _OSVERSIONINFOEXA { ULONG dwOSVersionInfoSize ; ULONG dwMajorVersion ; ULONG dwMinorVersion ; ULONG dwBuildNumber ; ULONG dwPlatformId ; CHAR szCSDVersion[128] ; USHORT wServicePackMajor ; USHORT wServicePackMinor ; USHORT wSuiteMask ; UCHAR wProductType ; UCHAR wReserved ; } OSVERSIONINFOEXA , * POSVERSIONINFOEXA , * LPOSVERSIONINFOEXA ; #line 3195 typedef struct _OSVERSIONINFOEXW { ULONG dwOSVersionInfoSize ; ULONG dwMajorVersion ; ULONG dwMinorVersion ; ULONG dwBuildNumber ; ULONG dwPlatformId ; WCHAR szCSDVersion[128] ; USHORT wServicePackMajor ; USHORT wServicePackMinor ; USHORT wSuiteMask ; UCHAR wProductType ; UCHAR wReserved ; } OSVERSIONINFOEXW , * POSVERSIONINFOEXW , * LPOSVERSIONINFOEXW , RTL_OSVERSIONINFOEXW , * PRTL_OSVERSIONINFOEXW ; #line 3213 typedef OSVERSIONINFOEXA OSVERSIONINFOEX ; #line 3214 typedef POSVERSIONINFOEXA POSVERSIONINFOEX ; #line 3215 typedef LPOSVERSIONINFOEXA LPOSVERSIONINFOEX ; #line 3275 ULONGLONG __stdcall VerSetConditionMask(ULONGLONG ConditionMask , ULONG TypeMask , UCHAR Condition ) ; #line 3286 __declspec(dllimport) NTSTATUS RtlGetVersion(PRTL_OSVERSIONINFOW lpVersionInformation ) ; #line 3292 __declspec(dllimport) NTSTATUS RtlVerifyVersionInfo(PRTL_OSVERSIONINFOEXW VersionInfo , ULONG TypeMask , ULONGLONG ConditionMask ) ; #line 3648 typedef struct _IO_STATUS_BLOCK { union { NTSTATUS Status ; PVOID Pointer ; } ; ULONG_PTR Information ; } IO_STATUS_BLOCK , * PIO_STATUS_BLOCK ; #line 3669 typedef void (__stdcall * PIO_APC_ROUTINE )(PVOID ApcContext , PIO_STATUS_BLOCK IoStatusBlock , ULONG Reserved ) ; #line 3685 typedef enum _FILE_INFORMATION_CLASS { FileDirectoryInformation = 1, FileFullDirectoryInformation, FileBothDirectoryInformation, FileBasicInformation, FileStandardInformation, FileInternalInformation, FileEaInformation, FileAccessInformation, FileNameInformation, FileRenameInformation, FileLinkInformation, FileNamesInformation, FileDispositionInformation, FilePositionInformation, FileFullEaInformation, FileModeInformation, FileAlignmentInformation, FileAllInformation, FileAllocationInformation, FileEndOfFileInformation, FileAlternateNameInformation, FileStreamInformation, FilePipeInformation, FilePipeLocalInformation, FilePipeRemoteInformation, FileMailslotQueryInformation, FileMailslotSetInformation, FileCompressionInformation, FileObjectIdInformation, FileCompletionInformation, FileMoveClusterInformation, FileQuotaInformation, FileReparsePointInformation, FileNetworkOpenInformation, FileAttributeTagInformation, FileTrackingInformation, FileMaximumInformation } FILE_INFORMATION_CLASS , * PFILE_INFORMATION_CLASS ; #line 3731 typedef struct _FILE_BASIC_INFORMATION { LARGE_INTEGER CreationTime ; LARGE_INTEGER LastAccessTime ; LARGE_INTEGER LastWriteTime ; LARGE_INTEGER ChangeTime ; ULONG FileAttributes ; } FILE_BASIC_INFORMATION , * PFILE_BASIC_INFORMATION ; typedef struct _FILE_STANDARD_INFORMATION { LARGE_INTEGER AllocationSize ; LARGE_INTEGER EndOfFile ; ULONG NumberOfLinks ; BOOLEAN DeletePending ; BOOLEAN Directory ; } FILE_STANDARD_INFORMATION , * PFILE_STANDARD_INFORMATION ; typedef struct _FILE_POSITION_INFORMATION { LARGE_INTEGER CurrentByteOffset ; } FILE_POSITION_INFORMATION , * PFILE_POSITION_INFORMATION ; typedef struct _FILE_ALIGNMENT_INFORMATION { ULONG AlignmentRequirement ; } FILE_ALIGNMENT_INFORMATION , * PFILE_ALIGNMENT_INFORMATION ; typedef struct _FILE_NAME_INFORMATION { ULONG FileNameLength ; WCHAR FileName[1] ; } FILE_NAME_INFORMATION , * PFILE_NAME_INFORMATION ; typedef struct _FILE_NETWORK_OPEN_INFORMATION { LARGE_INTEGER CreationTime ; LARGE_INTEGER LastAccessTime ; LARGE_INTEGER LastWriteTime ; LARGE_INTEGER ChangeTime ; LARGE_INTEGER AllocationSize ; LARGE_INTEGER EndOfFile ; ULONG FileAttributes ; } FILE_NETWORK_OPEN_INFORMATION , * PFILE_NETWORK_OPEN_INFORMATION ; typedef struct _FILE_ATTRIBUTE_TAG_INFORMATION { ULONG FileAttributes ; ULONG ReparseTag ; } FILE_ATTRIBUTE_TAG_INFORMATION , * PFILE_ATTRIBUTE_TAG_INFORMATION ; typedef struct _FILE_DISPOSITION_INFORMATION { BOOLEAN DeleteFile ; } FILE_DISPOSITION_INFORMATION , * PFILE_DISPOSITION_INFORMATION ; typedef struct _FILE_END_OF_FILE_INFORMATION { LARGE_INTEGER EndOfFile ; } FILE_END_OF_FILE_INFORMATION , * PFILE_END_OF_FILE_INFORMATION ; #line 3784 typedef struct _FILE_FULL_EA_INFORMATION { ULONG NextEntryOffset ; UCHAR Flags ; UCHAR EaNameLength ; USHORT EaValueLength ; CHAR EaName[1] ; } FILE_FULL_EA_INFORMATION , * PFILE_FULL_EA_INFORMATION ; #line 3798 typedef enum _FSINFOCLASS { FileFsVolumeInformation = 1, FileFsLabelInformation, FileFsSizeInformation, FileFsDeviceInformation, FileFsAttributeInformation, FileFsControlInformation, FileFsFullSizeInformation, FileFsObjectIdInformation, FileFsMaximumInformation } FS_INFORMATION_CLASS , * PFS_INFORMATION_CLASS ; typedef struct _FILE_FS_DEVICE_INFORMATION { ULONG DeviceType ; ULONG Characteristics ; } FILE_FS_DEVICE_INFORMATION , * PFILE_FS_DEVICE_INFORMATION ; #line 3820 typedef union _FILE_SEGMENT_ELEMENT { PVOID64 Buffer ; ULONGLONG Alignment ; } FILE_SEGMENT_ELEMENT , * PFILE_SEGMENT_ELEMENT ; #line 3829 typedef enum _INTERFACE_TYPE { InterfaceTypeUndefined = - 1, Internal, Isa, Eisa, MicroChannel, TurboChannel, PCIBus, VMEBus, NuBus, PCMCIABus, CBus, MPIBus, MPSABus, ProcessorInternal, InternalPowerBus, PNPISABus, PNPBus, MaximumInterfaceType } INTERFACE_TYPE , * PINTERFACE_TYPE ; #line 3854 typedef enum _DMA_WIDTH { Width8Bits, Width16Bits, Width32Bits, MaximumDmaWidth } DMA_WIDTH , * PDMA_WIDTH ; #line 3865 typedef enum _DMA_SPEED { Compatible, TypeA, TypeB, TypeC, TypeF, MaximumDmaSpeed } DMA_SPEED , * PDMA_SPEED ; #line 3879 typedef void ( * PINTERFACE_REFERENCE )(PVOID Context ) ; #line 3880 typedef void ( * PINTERFACE_DEREFERENCE )(PVOID Context ) ; #line 3888 typedef enum _BUS_DATA_TYPE { ConfigurationSpaceUndefined = - 1, Cmos, EisaConfiguration, Pos, CbusConfiguration, PCIConfiguration, VMEConfiguration, NuBusConfiguration, PCMCIAConfiguration, MPIConfiguration, MPSAConfiguration, PNPISAConfiguration, SgiInternalConfiguration, MaximumBusDataType } BUS_DATA_TYPE , * PBUS_DATA_TYPE ; #line 3910 typedef struct _IO_ERROR_LOG_PACKET { UCHAR MajorFunctionCode ; UCHAR RetryCount ; USHORT DumpDataSize ; USHORT NumberOfStrings ; USHORT StringOffset ; USHORT EventCategory ; NTSTATUS ErrorCode ; ULONG UniqueErrorValue ; NTSTATUS FinalStatus ; ULONG SequenceNumber ; ULONG IoControlCode ; LARGE_INTEGER DeviceOffset ; ULONG DumpData[1] ; } IO_ERROR_LOG_PACKET , * PIO_ERROR_LOG_PACKET ; #line 3931 typedef struct _IO_ERROR_LOG_MESSAGE { USHORT Type ; USHORT Size ; USHORT DriverNameLength ; LARGE_INTEGER TimeStamp ; ULONG DriverNameOffset ; IO_ERROR_LOG_PACKET EntryData ; } IO_ERROR_LOG_MESSAGE , * PIO_ERROR_LOG_MESSAGE ; #line 4074 typedef struct _KEY_BASIC_INFORMATION { LARGE_INTEGER LastWriteTime ; ULONG TitleIndex ; ULONG NameLength ; WCHAR Name[1] ; } KEY_BASIC_INFORMATION , * PKEY_BASIC_INFORMATION ; typedef struct _KEY_NODE_INFORMATION { LARGE_INTEGER LastWriteTime ; ULONG TitleIndex ; ULONG ClassOffset ; ULONG ClassLength ; ULONG NameLength ; WCHAR Name[1] ; } KEY_NODE_INFORMATION , * PKEY_NODE_INFORMATION ; #line 4091 typedef struct _KEY_FULL_INFORMATION { LARGE_INTEGER LastWriteTime ; ULONG TitleIndex ; ULONG ClassOffset ; ULONG ClassLength ; ULONG SubKeys ; ULONG MaxNameLen ; ULONG MaxClassLen ; ULONG Values ; ULONG MaxValueNameLen ; ULONG MaxValueDataLen ; WCHAR Class[1] ; } KEY_FULL_INFORMATION , * PKEY_FULL_INFORMATION ; #line 4106 typedef struct _KEY_NAME_INFORMATION { ULONG NameLength ; WCHAR Name[1] ; } KEY_NAME_INFORMATION , * PKEY_NAME_INFORMATION ; #line 4112 typedef enum _KEY_INFORMATION_CLASS { KeyBasicInformation, KeyNodeInformation, KeyFullInformation, KeyNameInformation } KEY_INFORMATION_CLASS ; #line 4122 typedef struct _KEY_WRITE_TIME_INFORMATION { LARGE_INTEGER LastWriteTime ; } KEY_WRITE_TIME_INFORMATION , * PKEY_WRITE_TIME_INFORMATION ; typedef enum _KEY_SET_INFORMATION_CLASS { KeyWriteTimeInformation } KEY_SET_INFORMATION_CLASS ; #line 4134 typedef struct _KEY_VALUE_BASIC_INFORMATION { ULONG TitleIndex ; ULONG Type ; ULONG NameLength ; WCHAR Name[1] ; } KEY_VALUE_BASIC_INFORMATION , * PKEY_VALUE_BASIC_INFORMATION ; typedef struct _KEY_VALUE_FULL_INFORMATION { ULONG TitleIndex ; ULONG Type ; ULONG DataOffset ; ULONG DataLength ; ULONG NameLength ; WCHAR Name[1] ; } KEY_VALUE_FULL_INFORMATION , * PKEY_VALUE_FULL_INFORMATION ; #line 4151 typedef struct _KEY_VALUE_PARTIAL_INFORMATION { ULONG TitleIndex ; ULONG Type ; ULONG DataLength ; UCHAR Data[1] ; } KEY_VALUE_PARTIAL_INFORMATION , * PKEY_VALUE_PARTIAL_INFORMATION ; typedef struct _KEY_VALUE_PARTIAL_INFORMATION_ALIGN64 { ULONG Type ; ULONG DataLength ; UCHAR Data[1] ; } KEY_VALUE_PARTIAL_INFORMATION_ALIGN64 , * PKEY_VALUE_PARTIAL_INFORMATION_ALIGN64 ; #line 4164 typedef struct _KEY_VALUE_ENTRY { PUNICODE_STRING ValueName ; ULONG DataLength ; ULONG DataOffset ; ULONG Type ; } KEY_VALUE_ENTRY , * PKEY_VALUE_ENTRY ; typedef enum _KEY_VALUE_INFORMATION_CLASS { KeyValueBasicInformation, KeyValueFullInformation, KeyValuePartialInformation, KeyValueFullInformationAlign64, KeyValuePartialInformationAlign64 } KEY_VALUE_INFORMATION_CLASS ; #line 4210 typedef struct _OBJECT_NAME_INFORMATION { UNICODE_STRING Name ; } OBJECT_NAME_INFORMATION , * POBJECT_NAME_INFORMATION ; #line 4221 typedef enum _SECTION_INHERIT { ViewShare = 1, ViewUnmap = 2 } SECTION_INHERIT ; #line 4294 typedef struct _CLIENT_ID { HANDLE UniqueProcess ; HANDLE UniqueThread ; } CLIENT_ID ; #line 4298 typedef CLIENT_ID * PCLIENT_ID ; #line 4315 typedef struct _NT_TIB { struct _EXCEPTION_REGISTRATION_RECORD * ExceptionList ; PVOID StackBase ; PVOID StackLimit ; PVOID SubSystemTib ; union { PVOID FiberData ; ULONG Version ; } ; PVOID ArbitraryUserPointer ; struct _NT_TIB * Self ; } NT_TIB ; #line 4327 typedef NT_TIB * PNT_TIB ; #line 4332 typedef enum _PROCESSINFOCLASS { ProcessBasicInformation, ProcessQuotaLimits, ProcessIoCounters, ProcessVmCounters, ProcessTimes, ProcessBasePriority, ProcessRaisePriority, ProcessDebugPort, ProcessExceptionPort, ProcessAccessToken, ProcessLdtInformation, ProcessLdtSize, ProcessDefaultHardErrorMode, ProcessIoPortHandlers, ProcessPooledUsageAndLimits, ProcessWorkingSetWatch, ProcessUserModeIOPL, ProcessEnableAlignmentFaultFixup, ProcessPriorityClass, ProcessWx86Information, ProcessHandleCount, ProcessAffinityMask, ProcessPriorityBoost, ProcessDeviceMap, ProcessSessionInformation, ProcessForegroundInformation, ProcessWow64Information, MaxProcessInfoClass } PROCESSINFOCLASS ; #line 4366 typedef enum _THREADINFOCLASS { ThreadBasicInformation, ThreadTimes, ThreadPriority, ThreadBasePriority, ThreadAffinityMask, ThreadImpersonationToken, ThreadDescriptorTableEntry, ThreadEnableAlignmentFaultFixup, ThreadEventPair_Reusable, ThreadQuerySetWin32StartAddress, ThreadZeroTlsCell, ThreadPerformanceCount, ThreadAmILastThread, ThreadIdealProcessor, ThreadPriorityBoost, ThreadSetTlsArrayAddress, ThreadIsIoPending, ThreadHideFromDebugger, MaxThreadInfoClass } THREADINFOCLASS ; #line 4395 typedef struct _PROCESS_WS_WATCH_INFORMATION { PVOID FaultingPc ; PVOID FaultingVa ; } PROCESS_WS_WATCH_INFORMATION , * PPROCESS_WS_WATCH_INFORMATION ; #line 4405 typedef struct _PROCESS_BASIC_INFORMATION { NTSTATUS ExitStatus ; PPEB PebBaseAddress ; ULONG_PTR AffinityMask ; KPRIORITY BasePriority ; ULONG_PTR UniqueProcessId ; ULONG_PTR InheritedFromUniqueProcessId ; } PROCESS_BASIC_INFORMATION ; #line 4413 typedef PROCESS_BASIC_INFORMATION * PPROCESS_BASIC_INFORMATION ; #line 4422 typedef struct _PROCESS_DEVICEMAP_INFORMATION { union { struct { HANDLE DirectoryHandle ; } Set ; struct { ULONG DriveMap ; UCHAR DriveType[32] ; } Query ; } ; } PROCESS_DEVICEMAP_INFORMATION , * PPROCESS_DEVICEMAP_INFORMATION ; #line 4440 typedef struct _PROCESS_SESSION_INFORMATION { ULONG SessionId ; } PROCESS_SESSION_INFORMATION , * PPROCESS_SESSION_INFORMATION ; #line 4454 typedef struct _QUOTA_LIMITS { SIZE_T PagedPoolLimit ; SIZE_T NonPagedPoolLimit ; SIZE_T MinimumWorkingSetSize ; SIZE_T MaximumWorkingSetSize ; SIZE_T PagefileLimit ; LARGE_INTEGER TimeLimit ; } QUOTA_LIMITS ; #line 4462 typedef QUOTA_LIMITS * PQUOTA_LIMITS ; #line 4472 typedef struct _IO_COUNTERS { ULONGLONG ReadOperationCount ; ULONGLONG WriteOperationCount ; ULONGLONG OtherOperationCount ; ULONGLONG ReadTransferCount ; ULONGLONG WriteTransferCount ; ULONGLONG OtherTransferCount ; } IO_COUNTERS ; #line 4480 typedef IO_COUNTERS * PIO_COUNTERS ; #line 4488 typedef struct _VM_COUNTERS { SIZE_T PeakVirtualSize ; SIZE_T VirtualSize ; ULONG PageFaultCount ; SIZE_T PeakWorkingSetSize ; SIZE_T WorkingSetSize ; SIZE_T QuotaPeakPagedPoolUsage ; SIZE_T QuotaPagedPoolUsage ; SIZE_T QuotaPeakNonPagedPoolUsage ; SIZE_T QuotaNonPagedPoolUsage ; SIZE_T PagefileUsage ; SIZE_T PeakPagefileUsage ; } VM_COUNTERS ; #line 4501 typedef VM_COUNTERS * PVM_COUNTERS ; #line 4508 typedef struct _POOLED_USAGE_AND_LIMITS { SIZE_T PeakPagedPoolUsage ; SIZE_T PagedPoolUsage ; SIZE_T PagedPoolLimit ; SIZE_T PeakNonPagedPoolUsage ; SIZE_T NonPagedPoolUsage ; SIZE_T NonPagedPoolLimit ; SIZE_T PeakPagefileUsage ; SIZE_T PagefileUsage ; SIZE_T PagefileLimit ; } POOLED_USAGE_AND_LIMITS ; #line 4519 typedef POOLED_USAGE_AND_LIMITS * PPOOLED_USAGE_AND_LIMITS ; #line 4528 typedef struct _PROCESS_ACCESS_TOKEN { HANDLE Token ; HANDLE Thread ; } PROCESS_ACCESS_TOKEN , * PPROCESS_ACCESS_TOKEN ; #line 4555 typedef struct _KERNEL_USER_TIMES { LARGE_INTEGER CreateTime ; LARGE_INTEGER ExitTime ; LARGE_INTEGER KernelTime ; LARGE_INTEGER UserTime ; } KERNEL_USER_TIMES ; #line 4561 typedef KERNEL_USER_TIMES * PKERNEL_USER_TIMES ; #line 4562 __declspec(dllimport) NTSTATUS __stdcall NtOpenProcess(PHANDLE ProcessHandle , ACCESS_MASK DesiredAccess , POBJECT_ATTRIBUTES ObjectAttributes , PCLIENT_ID ClientId ) ; #line 4572 __declspec(dllimport) NTSTATUS __stdcall NtQueryInformationProcess(HANDLE ProcessHandle , PROCESSINFOCLASS ProcessInformationClass , PVOID ProcessInformation , ULONG ProcessInformationLength , PULONG ReturnLength ) ; #line 4587 typedef enum _SYSTEM_POWER_STATE { PowerSystemUnspecified = 0, PowerSystemWorking, PowerSystemSleeping1, PowerSystemSleeping2, PowerSystemSleeping3, PowerSystemHibernate, PowerSystemShutdown, PowerSystemMaximum } SYSTEM_POWER_STATE , * PSYSTEM_POWER_STATE ; typedef enum { PowerActionNone = 0, PowerActionReserved, PowerActionSleep, PowerActionHibernate, PowerActionShutdown, PowerActionShutdownReset, PowerActionShutdownOff, PowerActionWarmEject } POWER_ACTION , * PPOWER_ACTION ; typedef enum _DEVICE_POWER_STATE { PowerDeviceUnspecified = 0, PowerDeviceD0, PowerDeviceD1, PowerDeviceD2, PowerDeviceD3, PowerDeviceMaximum } DEVICE_POWER_STATE , * PDEVICE_POWER_STATE ; typedef union _POWER_STATE { SYSTEM_POWER_STATE SystemState ; DEVICE_POWER_STATE DeviceState ; } POWER_STATE , * PPOWER_STATE ; typedef enum _POWER_STATE_TYPE { SystemPowerState = 0, DevicePowerState } POWER_STATE_TYPE , * PPOWER_STATE_TYPE ; #line 4654 typedef ULONG EXECUTION_STATE ; typedef enum { LT_DONT_CARE, LT_LOWEST_LATENCY } LATENCY_TIME ; #line 4663 typedef enum { SystemPowerPolicyAc, SystemPowerPolicyDc, VerifySystemPolicyAc, VerifySystemPolicyDc, SystemPowerCapabilities, SystemBatteryState, SystemPowerStateHandler, ProcessorStateHandler, SystemPowerPolicyCurrent, AdministratorPowerPolicy, SystemReserveHiberFile, ProcessorInformation, SystemPowerInformation } POWER_INFORMATION_LEVEL ; #line 4690 typedef ULONG PFN_COUNT ; typedef LONG SPFN_NUMBER , * PSPFN_NUMBER ; #line 4693 typedef ULONG PFN_NUMBER , * PPFN_NUMBER ; #line 4719 typedef union _MCI_STATS { struct { USHORT McaCod ; USHORT MsCod ; ULONG OtherInfo : 25; ULONG Damage : 1; ULONG AddressValid : 1; ULONG MiscValid : 1; ULONG Enabled : 1; ULONG UnCorrected : 1; ULONG OverFlow : 1; ULONG Valid : 1; } MciStats ; ULONGLONG QuadPart ; } MCI_STATS , * PMCI_STATS ; #line 4768 __declspec(dllimport) UCHAR READ_REGISTER_UCHAR(PUCHAR Register ) ; #line 4774 __declspec(dllimport) USHORT READ_REGISTER_USHORT(PUSHORT Register ) ; #line 4780 __declspec(dllimport) ULONG READ_REGISTER_ULONG(PULONG Register ) ; #line 4786 __declspec(dllimport) void READ_REGISTER_BUFFER_UCHAR(PUCHAR Register , PUCHAR Buffer , ULONG Count ) ; #line 4794 __declspec(dllimport) void READ_REGISTER_BUFFER_USHORT(PUSHORT Register , PUSHORT Buffer , ULONG Count ) ; #line 4802 __declspec(dllimport) void READ_REGISTER_BUFFER_ULONG(PULONG Register , PULONG Buffer , ULONG Count ) ; #line 4811 __declspec(dllimport) void WRITE_REGISTER_UCHAR(PUCHAR Register , UCHAR Value ) ; #line 4818 __declspec(dllimport) void WRITE_REGISTER_USHORT(PUSHORT Register , USHORT Value ) ; #line 4825 __declspec(dllimport) void WRITE_REGISTER_ULONG(PULONG Register , ULONG Value ) ; #line 4832 __declspec(dllimport) void WRITE_REGISTER_BUFFER_UCHAR(PUCHAR Register , PUCHAR Buffer , ULONG Count ) ; #line 4840 __declspec(dllimport) void WRITE_REGISTER_BUFFER_USHORT(PUSHORT Register , PUSHORT Buffer , ULONG Count ) ; #line 4848 __declspec(dllimport) void WRITE_REGISTER_BUFFER_ULONG(PULONG Register , PULONG Buffer , ULONG Count ) ; #line 4856 __declspec(dllimport) UCHAR READ_PORT_UCHAR(PUCHAR Port ) ; #line 4862 __declspec(dllimport) USHORT READ_PORT_USHORT(PUSHORT Port ) ; #line 4868 __declspec(dllimport) ULONG READ_PORT_ULONG(PULONG Port ) ; #line 4874 __declspec(dllimport) void READ_PORT_BUFFER_UCHAR(PUCHAR Port , PUCHAR Buffer , ULONG Count ) ; #line 4882 __declspec(dllimport) void READ_PORT_BUFFER_USHORT(PUSHORT Port , PUSHORT Buffer , ULONG Count ) ; #line 4890 __declspec(dllimport) void READ_PORT_BUFFER_ULONG(PULONG Port , PULONG Buffer , ULONG Count ) ; #line 4898 __declspec(dllimport) void WRITE_PORT_UCHAR(PUCHAR Port , UCHAR Value ) ; #line 4905 __declspec(dllimport) void WRITE_PORT_USHORT(PUSHORT Port , USHORT Value ) ; #line 4912 __declspec(dllimport) void WRITE_PORT_ULONG(PULONG Port , ULONG Value ) ; #line 4919 __declspec(dllimport) void WRITE_PORT_BUFFER_UCHAR(PUCHAR Port , PUCHAR Buffer , ULONG Count ) ; #line 4927 __declspec(dllimport) void WRITE_PORT_BUFFER_USHORT(PUSHORT Port , PUSHORT Buffer , ULONG Count ) ; #line 4935 __declspec(dllimport) void WRITE_PORT_BUFFER_ULONG(PULONG Port , PULONG Buffer , ULONG Count ) ; #line 4978 typedef struct _KPCR { NT_TIB NtTib ; struct _KPCR * SelfPcr ; struct _KPRCB * Prcb ; KIRQL Irql ; ULONG IRR ; ULONG IrrActive ; ULONG IDR ; ULONG Reserved2 ; struct _KIDTENTRY * IDT ; struct _KGDTENTRY * GDT ; struct _KTSS * TSS ; USHORT MajorVersion ; USHORT MinorVersion ; KAFFINITY SetMember ; ULONG StallScaleFactor ; UCHAR DebugActive ; UCHAR Number ; } KPCR ; #line 5006 typedef KPCR * PKPCR ; #line 5012 typedef struct _KFLOATING_SAVE { ULONG ControlWord ; ULONG StatusWord ; ULONG ErrorOffset ; ULONG ErrorSelector ; ULONG DataOffset ; ULONG DataSelector ; ULONG Cr0NpxState ; ULONG Spare1 ; } KFLOATING_SAVE , * PKFLOATING_SAVE ; #line 5069 extern PVOID * MmHighestUserAddress ; extern PVOID * MmSystemRangeStart ; extern ULONG * MmUserProbeAddress ; #line 5153 typedef enum _INTERLOCKED_RESULT { ResultNegative = 0x8000 & ~ 0x4000 & (0x8000 | 0x4000), ResultZero = ~ 0x8000 & 0x4000 & (0x8000 | 0x4000), ResultPositive = ~ 0x8000 & ~ 0x4000 & (0x8000 | 0x4000) } INTERLOCKED_RESULT ; __declspec(dllimport) INTERLOCKED_RESULT _fastcall Exfi386InterlockedIncrementLong(PLONG Addend ) ; #line 5166 __declspec(dllimport) INTERLOCKED_RESULT _fastcall Exfi386InterlockedDecrementLong(PLONG Addend ) ; #line 5173 __declspec(dllimport) LARGE_INTEGER ExInterlockedExchangeAddLargeInteger(PLARGE_INTEGER Addend , LARGE_INTEGER Increment , PKSPIN_LOCK Lock ) ; #line 5181 __declspec(dllimport) ULONG _fastcall Exfi386InterlockedExchangeUlong(PULONG Target , ULONG Value ) ; #line 5197 __declspec(dllimport) LONG _fastcall InterlockedIncrement(PLONG Addend ) ; #line 5204 __declspec(dllimport) LONG _fastcall InterlockedDecrement(PLONG Addend ) ; #line 5211 __declspec(dllimport) LONG _fastcall InterlockedExchange(PLONG Target , LONG Value ) ; #line 5222 LONG _fastcall InterlockedExchangeAdd(PLONG Addend , LONG Increment ) ; #line 5229 __declspec(dllimport) LONG _fastcall InterlockedCompareExchange(PLONG Destination , LONG ExChange , LONG Comperand ) ; #line 5252 #pragma warning(disable:4035) #line 5262 __declspec(dllimport) KIRQL KeGetCurrentIrql() ; #line 5271 __inline ULONG KeGetCurrentProcessorNumber(void ) { __asm { movzx eax, fs:[0] KPCR.Number }; } #line 5280 __declspec(dllimport) NTSTATUS __stdcall KeSaveFloatingPointState(PKFLOATING_SAVE FloatSave ) ; #line 5287 __declspec(dllimport) NTSTATUS __stdcall KeRestoreFloatingPointState(PKFLOATING_SAVE FloatSave ) ; #line 6994 typedef struct _KSYSTEM_TIME { ULONG LowPart ; LONG High1Time ; LONG High2Time ; } KSYSTEM_TIME , * PKSYSTEM_TIME ; #line 7014 #pragma warning(push) #pragma warning(disable:4164) #line 7019 #pragma function(_enable) #line 7020 #pragma function(_disable) #line 7024 #pragma warning(pop) #line 7085 typedef struct _FLOATING_SAVE_AREA { ULONG ControlWord ; ULONG StatusWord ; ULONG TagWord ; ULONG ErrorOffset ; ULONG ErrorSelector ; ULONG DataOffset ; ULONG DataSelector ; UCHAR RegisterArea[80] ; ULONG Cr0NpxState ; } FLOATING_SAVE_AREA ; typedef FLOATING_SAVE_AREA * PFLOATING_SAVE_AREA ; #line 7109 typedef struct _CONTEXT { ULONG ContextFlags ; ULONG Dr0 ; ULONG Dr1 ; ULONG Dr2 ; ULONG Dr3 ; ULONG Dr6 ; ULONG Dr7 ; FLOATING_SAVE_AREA FloatSave ; ULONG SegGs ; ULONG SegFs ; ULONG SegEs ; ULONG SegDs ; ULONG Edi ; ULONG Esi ; ULONG Ebx ; ULONG Edx ; ULONG Ecx ; ULONG Eax ; ULONG Ebp ; ULONG Eip ; ULONG SegCs ; ULONG EFlags ; ULONG Esp ; ULONG SegSs ; UCHAR ExtendedRegisters[512] ; } CONTEXT ; #line 7197 typedef CONTEXT * PCONTEXT ; #line 7826 typedef void ( * PTIMER_APC_ROUTINE )(PVOID TimerContext , ULONG TimerLowValue , LONG TimerHighValue ) ; #line 7850 typedef enum _ALTERNATIVE_ARCHITECTURE_TYPE { StandardDesign, NEC98x86, EndAlternatives } ALTERNATIVE_ARCHITECTURE_TYPE ; #line 7899 typedef struct _KUSER_SHARED_DATA { volatile ULONG TickCountLow ; ULONG TickCountMultiplier ; volatile KSYSTEM_TIME InterruptTime ; volatile KSYSTEM_TIME SystemTime ; volatile KSYSTEM_TIME TimeZoneBias ; USHORT ImageNumberLow ; USHORT ImageNumberHigh ; WCHAR NtSystemRoot[260] ; ULONG MaxStackTraceDepth ; ULONG CryptoExponent ; ULONG TimeZoneId ; ULONG Reserved2[8] ; NT_PRODUCT_TYPE NtProductType ; BOOLEAN ProductTypeIsValid ; ULONG NtMajorVersion ; ULONG NtMinorVersion ; BOOLEAN ProcessorFeatures[64] ; ULONG Reserved1 ; ULONG Reserved3 ; volatile ULONG TimeSlip ; ALTERNATIVE_ARCHITECTURE_TYPE AlternativeArchitecture ; LARGE_INTEGER SystemExpirationDate ; ULONG SuiteMask ; BOOLEAN KdDebuggerEnabled ; } KUSER_SHARED_DATA , * PKUSER_SHARED_DATA ; #line 8123 typedef enum _CM_SERVICE_NODE_TYPE { DriverType = 0x00000001, FileSystemType = 0x00000002, Win32ServiceOwnProcess = 0x00000010, Win32ServiceShareProcess = 0x00000020, AdapterType = 0x00000004, RecognizerType = 0x00000008 } SERVICE_NODE_TYPE ; typedef enum _CM_SERVICE_LOAD_TYPE { BootLoad = 0x00000000, SystemLoad = 0x00000001, AutoLoad = 0x00000002, DemandLoad = 0x00000003, DisableLoad = 0x00000004 } SERVICE_LOAD_TYPE ; typedef enum _CM_ERROR_CONTROL_TYPE { IgnoreError = 0x00000000, NormalError = 0x00000001, SevereError = 0x00000002, CriticalError = 0x00000003 } SERVICE_ERROR_TYPE ; #line 8172 typedef int CM_RESOURCE_TYPE ; #line 8198 typedef enum _CM_SHARE_DISPOSITION { CmResourceShareUndetermined = 0, CmResourceShareDeviceExclusive, CmResourceShareDriverExclusive, CmResourceShareShared } CM_SHARE_DISPOSITION ; #line 8211 typedef PVOID PASSIGNED_RESOURCE ; #line 24 "C:/NTDDK/inc/pshpack4.h" #pragma warning(disable:4103) #pragma pack(push, 4) #line 8309 "C:/NTDDK/inc/ddk/ntddk.h" typedef struct _CM_PARTIAL_RESOURCE_DESCRIPTOR { UCHAR Type ; UCHAR ShareDisposition ; USHORT Flags ; union { struct { PHYSICAL_ADDRESS Start ; ULONG Length ; } Generic ; struct { PHYSICAL_ADDRESS Start ; ULONG Length ; } Port ; struct { ULONG Level ; ULONG Vector ; ULONG Affinity ; } Interrupt ; struct { PHYSICAL_ADDRESS Start ; ULONG Length ; } Memory ; struct { ULONG Channel ; ULONG Port ; ULONG Reserved1 ; } Dma ; struct { ULONG Data[3] ; } DevicePrivate ; struct { ULONG Start ; ULONG Length ; ULONG Reserved ; } BusNumber ; struct { ULONG DataSize ; ULONG Reserved1 ; ULONG Reserved2 ; } DeviceSpecificData ; } u ; } CM_PARTIAL_RESOURCE_DESCRIPTOR , * PCM_PARTIAL_RESOURCE_DESCRIPTOR ; #line 27 "C:/NTDDK/inc/poppack.h" #pragma warning(disable:4103) #pragma pack(pop) #line 8419 "C:/NTDDK/inc/ddk/ntddk.h" typedef struct _CM_PARTIAL_RESOURCE_LIST { USHORT Version ; USHORT Revision ; ULONG Count ; CM_PARTIAL_RESOURCE_DESCRIPTOR PartialDescriptors[1] ; } CM_PARTIAL_RESOURCE_LIST , * PCM_PARTIAL_RESOURCE_LIST ; #line 8443 typedef struct _CM_FULL_RESOURCE_DESCRIPTOR { INTERFACE_TYPE InterfaceType ; ULONG BusNumber ; CM_PARTIAL_RESOURCE_LIST PartialResourceList ; } CM_FULL_RESOURCE_DESCRIPTOR , * PCM_FULL_RESOURCE_DESCRIPTOR ; #line 8454 typedef struct _CM_RESOURCE_LIST { ULONG Count ; CM_FULL_RESOURCE_DESCRIPTOR List[1] ; } CM_RESOURCE_LIST , * PCM_RESOURCE_LIST ; #line 8471 typedef struct _DEVICE_FLAGS { ULONG Failed : 1; ULONG ReadOnly : 1; ULONG Removable : 1; ULONG ConsoleIn : 1; ULONG ConsoleOut : 1; ULONG Input : 1; ULONG Output : 1; } DEVICE_FLAGS , * PDEVICE_FLAGS ; #line 8485 typedef struct _CM_COMPONENT_INFORMATION { DEVICE_FLAGS Flags ; ULONG Version ; ULONG Key ; ULONG AffinityMask ; } CM_COMPONENT_INFORMATION , * PCM_COMPONENT_INFORMATION ; #line 8503 typedef struct _CM_ROM_BLOCK { ULONG Address ; ULONG Size ; } CM_ROM_BLOCK , * PCM_ROM_BLOCK ; #line 24 "C:/NTDDK/inc/pshpack1.h" #pragma warning(disable:4103) #pragma pack(push, 1) #line 8518 "C:/NTDDK/inc/ddk/ntddk.h" typedef struct _CM_INT13_DRIVE_PARAMETER { USHORT DriveSelect ; ULONG MaxCylinders ; USHORT SectorsPerTrack ; USHORT MaxHeads ; USHORT NumberDrives ; } CM_INT13_DRIVE_PARAMETER , * PCM_INT13_DRIVE_PARAMETER ; #line 8532 typedef struct _CM_MCA_POS_DATA { USHORT AdapterId ; UCHAR PosData1 ; UCHAR PosData2 ; UCHAR PosData3 ; UCHAR PosData4 ; } CM_MCA_POS_DATA , * PCM_MCA_POS_DATA ; #line 8544 typedef struct _EISA_MEMORY_TYPE { UCHAR ReadWrite : 1; UCHAR Cached : 1; UCHAR Reserved0 : 1; UCHAR Type : 2; UCHAR Shared : 1; UCHAR Reserved1 : 1; UCHAR MoreEntries : 1; } EISA_MEMORY_TYPE , * PEISA_MEMORY_TYPE ; typedef struct _EISA_MEMORY_CONFIGURATION { EISA_MEMORY_TYPE ConfigurationByte ; UCHAR DataSize ; USHORT AddressLowWord ; UCHAR AddressHighByte ; USHORT MemorySize ; } EISA_MEMORY_CONFIGURATION , * PEISA_MEMORY_CONFIGURATION ; #line 8567 typedef struct _EISA_IRQ_DESCRIPTOR { UCHAR Interrupt : 4; UCHAR Reserved : 1; UCHAR LevelTriggered : 1; UCHAR Shared : 1; UCHAR MoreEntries : 1; } EISA_IRQ_DESCRIPTOR , * PEISA_IRQ_DESCRIPTOR ; typedef struct _EISA_IRQ_CONFIGURATION { EISA_IRQ_DESCRIPTOR ConfigurationByte ; UCHAR Reserved ; } EISA_IRQ_CONFIGURATION , * PEISA_IRQ_CONFIGURATION ; #line 8585 typedef struct _DMA_CONFIGURATION_BYTE0 { UCHAR Channel : 3; UCHAR Reserved : 3; UCHAR Shared : 1; UCHAR MoreEntries : 1; } DMA_CONFIGURATION_BYTE0 ; typedef struct _DMA_CONFIGURATION_BYTE1 { UCHAR Reserved0 : 2; UCHAR TransferSize : 2; UCHAR Timing : 2; UCHAR Reserved1 : 2; } DMA_CONFIGURATION_BYTE1 ; typedef struct _EISA_DMA_CONFIGURATION { DMA_CONFIGURATION_BYTE0 ConfigurationByte0 ; DMA_CONFIGURATION_BYTE1 ConfigurationByte1 ; } EISA_DMA_CONFIGURATION , * PEISA_DMA_CONFIGURATION ; #line 8609 typedef struct _EISA_PORT_DESCRIPTOR { UCHAR NumberPorts : 5; UCHAR Reserved : 1; UCHAR Shared : 1; UCHAR MoreEntries : 1; } EISA_PORT_DESCRIPTOR , * PEISA_PORT_DESCRIPTOR ; typedef struct _EISA_PORT_CONFIGURATION { EISA_PORT_DESCRIPTOR Configuration ; USHORT PortAddress ; } EISA_PORT_CONFIGURATION , * PEISA_PORT_CONFIGURATION ; #line 8628 typedef struct _CM_EISA_SLOT_INFORMATION { UCHAR ReturnCode ; UCHAR ReturnFlags ; UCHAR MajorRevision ; UCHAR MinorRevision ; USHORT Checksum ; UCHAR NumberFunctions ; UCHAR FunctionInformation ; ULONG CompressedId ; } CM_EISA_SLOT_INFORMATION , * PCM_EISA_SLOT_INFORMATION ; #line 8644 typedef struct _CM_EISA_FUNCTION_INFORMATION { ULONG CompressedId ; UCHAR IdSlotFlags1 ; UCHAR IdSlotFlags2 ; UCHAR MinorRevision ; UCHAR MajorRevision ; UCHAR Selections[26] ; UCHAR FunctionFlags ; UCHAR TypeString[80] ; EISA_MEMORY_CONFIGURATION EisaMemory[9] ; EISA_IRQ_CONFIGURATION EisaIrq[7] ; EISA_DMA_CONFIGURATION EisaDma[4] ; EISA_PORT_CONFIGURATION EisaPort[20] ; UCHAR InitializationData[60] ; } CM_EISA_FUNCTION_INFORMATION , * PCM_EISA_FUNCTION_INFORMATION ; #line 8678 typedef struct _CM_PNP_BIOS_DEVICE_NODE { USHORT Size ; UCHAR Node ; ULONG ProductId ; UCHAR DeviceType[3] ; USHORT DeviceAttributes ; } CM_PNP_BIOS_DEVICE_NODE , * PCM_PNP_BIOS_DEVICE_NODE ; #line 8692 typedef struct _CM_PNP_BIOS_INSTALLATION_CHECK { UCHAR Signature[4] ; UCHAR Revision ; UCHAR Length ; USHORT ControlField ; UCHAR Checksum ; ULONG EventFlagAddress ; USHORT RealModeEntryOffset ; USHORT RealModeEntrySegment ; USHORT ProtectedModeEntryOffset ; ULONG ProtectedModeCodeBaseAddress ; ULONG OemDeviceId ; USHORT RealModeDataBaseAddress ; ULONG ProtectedModeDataBaseAddress ; } CM_PNP_BIOS_INSTALLATION_CHECK , * PCM_PNP_BIOS_INSTALLATION_CHECK ; #line 27 "C:/NTDDK/inc/poppack.h" #pragma warning(disable:4103) #pragma pack(pop) #line 8761 "C:/NTDDK/inc/ddk/ntddk.h" typedef struct _CM_SCSI_DEVICE_DATA { USHORT Version ; USHORT Revision ; UCHAR HostIdentifier ; } CM_SCSI_DEVICE_DATA , * PCM_SCSI_DEVICE_DATA ; #line 8775 typedef struct _CM_VIDEO_DEVICE_DATA { USHORT Version ; USHORT Revision ; ULONG VideoClock ; } CM_VIDEO_DEVICE_DATA , * PCM_VIDEO_DEVICE_DATA ; #line 8785 typedef struct _CM_SONIC_DEVICE_DATA { USHORT Version ; USHORT Revision ; USHORT DataConfigurationRegister ; UCHAR EthernetAddress[8] ; } CM_SONIC_DEVICE_DATA , * PCM_SONIC_DEVICE_DATA ; #line 8796 typedef struct _CM_SERIAL_DEVICE_DATA { USHORT Version ; USHORT Revision ; ULONG BaudClock ; } CM_SERIAL_DEVICE_DATA , * PCM_SERIAL_DEVICE_DATA ; #line 8810 typedef struct _CM_MONITOR_DEVICE_DATA { USHORT Version ; USHORT Revision ; USHORT HorizontalScreenSize ; USHORT VerticalScreenSize ; USHORT HorizontalResolution ; USHORT VerticalResolution ; USHORT HorizontalDisplayTimeLow ; USHORT HorizontalDisplayTime ; USHORT HorizontalDisplayTimeHigh ; USHORT HorizontalBackPorchLow ; USHORT HorizontalBackPorch ; USHORT HorizontalBackPorchHigh ; USHORT HorizontalFrontPorchLow ; USHORT HorizontalFrontPorch ; USHORT HorizontalFrontPorchHigh ; USHORT HorizontalSyncLow ; USHORT HorizontalSync ; USHORT HorizontalSyncHigh ; USHORT VerticalBackPorchLow ; USHORT VerticalBackPorch ; USHORT VerticalBackPorchHigh ; USHORT VerticalFrontPorchLow ; USHORT VerticalFrontPorch ; USHORT VerticalFrontPorchHigh ; USHORT VerticalSyncLow ; USHORT VerticalSync ; USHORT VerticalSyncHigh ; } CM_MONITOR_DEVICE_DATA , * PCM_MONITOR_DEVICE_DATA ; #line 8844 typedef struct _CM_FLOPPY_DEVICE_DATA { USHORT Version ; USHORT Revision ; CHAR Size[8] ; ULONG MaxDensity ; ULONG MountDensity ; UCHAR StepRateHeadUnloadTime ; UCHAR HeadLoadTime ; UCHAR MotorOffTime ; UCHAR SectorLengthCode ; UCHAR SectorPerTrack ; UCHAR ReadWriteGapLength ; UCHAR DataTransferLength ; UCHAR FormatGapLength ; UCHAR FormatFillCharacter ; UCHAR HeadSettleTime ; UCHAR MotorSettleTime ; UCHAR MaximumTrackValue ; UCHAR DataTransferRate ; } CM_FLOPPY_DEVICE_DATA , * PCM_FLOPPY_DEVICE_DATA ; #line 8881 typedef struct _CM_KEYBOARD_DEVICE_DATA { USHORT Version ; USHORT Revision ; UCHAR Type ; UCHAR Subtype ; USHORT KeyboardFlags ; } CM_KEYBOARD_DEVICE_DATA , * PCM_KEYBOARD_DEVICE_DATA ; #line 8893 typedef struct _CM_DISK_GEOMETRY_DEVICE_DATA { ULONG BytesPerSector ; ULONG NumberOfCylinders ; ULONG SectorsPerTrack ; ULONG NumberOfHeads ; } CM_DISK_GEOMETRY_DEVICE_DATA , * PCM_DISK_GEOMETRY_DEVICE_DATA ; #line 8905 typedef struct _CM_PCCARD_DEVICE_DATA { UCHAR Flags ; UCHAR ErrorCode ; USHORT Reserved ; ULONG BusData ; ULONG DeviceId ; ULONG LegacyBaseAddress ; UCHAR IRQMap[16] ; } CM_PCCARD_DEVICE_DATA , * PCM_PCCARD_DEVICE_DATA ; #line 8944 typedef struct _IO_RESOURCE_DESCRIPTOR { UCHAR Option ; UCHAR Type ; UCHAR ShareDisposition ; UCHAR Spare1 ; USHORT Flags ; USHORT Spare2 ; union { struct { ULONG Length ; ULONG Alignment ; PHYSICAL_ADDRESS MinimumAddress ; PHYSICAL_ADDRESS MaximumAddress ; } Port ; struct { ULONG Length ; ULONG Alignment ; PHYSICAL_ADDRESS MinimumAddress ; PHYSICAL_ADDRESS MaximumAddress ; } Memory ; struct { ULONG MinimumVector ; ULONG MaximumVector ; } Interrupt ; struct { ULONG MinimumChannel ; ULONG MaximumChannel ; } Dma ; struct { ULONG Length ; ULONG Alignment ; PHYSICAL_ADDRESS MinimumAddress ; PHYSICAL_ADDRESS MaximumAddress ; } Generic ; struct { ULONG Data[3] ; } DevicePrivate ; struct { ULONG Length ; ULONG MinBusNumber ; ULONG MaxBusNumber ; ULONG Reserved ; } BusNumber ; struct { PASSIGNED_RESOURCE AssignedResource ; } AssignedResource ; struct { UCHAR Type ; UCHAR Reserved[3] ; PASSIGNED_RESOURCE AssignedResource ; PHYSICAL_ADDRESS Transformation ; } SubAllocateFrom ; struct { ULONG Priority ; ULONG Reserved1 ; ULONG Reserved2 ; } ConfigData ; } u ; } IO_RESOURCE_DESCRIPTOR , * PIO_RESOURCE_DESCRIPTOR ; #line 9027 typedef struct _IO_RESOURCE_LIST { USHORT Version ; USHORT Revision ; ULONG Count ; IO_RESOURCE_DESCRIPTOR Descriptors[1] ; } IO_RESOURCE_LIST , * PIO_RESOURCE_LIST ; #line 9036 typedef struct _IO_RESOURCE_REQUIREMENTS_LIST { ULONG ListSize ; INTERFACE_TYPE InterfaceType ; ULONG BusNumber ; ULONG SlotNumber ; ULONG Reserved[3] ; ULONG AlternativeLists ; IO_RESOURCE_LIST List[1] ; } IO_RESOURCE_REQUIREMENTS_LIST , * PIO_RESOURCE_REQUIREMENTS_LIST ; #line 9065 typedef struct _EXCEPTION_RECORD { NTSTATUS ExceptionCode ; ULONG ExceptionFlags ; struct _EXCEPTION_RECORD * ExceptionRecord ; PVOID ExceptionAddress ; ULONG NumberParameters ; ULONG_PTR ExceptionInformation[15] ; } EXCEPTION_RECORD ; typedef EXCEPTION_RECORD * PEXCEPTION_RECORD ; typedef struct _EXCEPTION_RECORD32 { NTSTATUS ExceptionCode ; ULONG ExceptionFlags ; ULONG ExceptionRecord ; ULONG ExceptionAddress ; ULONG NumberParameters ; ULONG ExceptionInformation[15] ; } EXCEPTION_RECORD32 , * PEXCEPTION_RECORD32 ; typedef struct _EXCEPTION_RECORD64 { NTSTATUS ExceptionCode ; ULONG ExceptionFlags ; ULONG64 ExceptionRecord ; ULONG64 ExceptionAddress ; ULONG NumberParameters ; ULONG __unusedAlignment ; ULONG64 ExceptionInformation[15] ; } EXCEPTION_RECORD64 , * PEXCEPTION_RECORD64 ; #line 9099 typedef struct _EXCEPTION_POINTERS { PEXCEPTION_RECORD ExceptionRecord ; PCONTEXT ContextRecord ; } EXCEPTION_POINTERS , * PEXCEPTION_POINTERS ; #line 9111 typedef enum _CONFIGURATION_TYPE { ArcSystem, CentralProcessor, FloatingPointProcessor, PrimaryIcache, PrimaryDcache, SecondaryIcache, SecondaryDcache, SecondaryCache, EisaAdapter, TcAdapter, ScsiAdapter, DtiAdapter, MultiFunctionAdapter, DiskController, TapeController, CdromController, WormController, SerialController, NetworkController, DisplayController, ParallelController, PointerController, KeyboardController, AudioController, OtherController, DiskPeripheral, FloppyDiskPeripheral, TapePeripheral, ModemPeripheral, MonitorPeripheral, PrinterPeripheral, PointerPeripheral, KeyboardPeripheral, TerminalPeripheral, OtherPeripheral, LinePeripheral, NetworkPeripheral, SystemMemory, DockingInformation, RealModeIrqRoutingTable, MaximumType } CONFIGURATION_TYPE , * PCONFIGURATION_TYPE ; #line 9161 typedef enum _KINTERRUPT_MODE { LevelSensitive, Latched } KINTERRUPT_MODE ; #line 9170 typedef enum _KWAIT_REASON { Executive, FreePage, PageIn, PoolAllocation, DelayExecution, Suspended, UserRequest, WrExecutive, WrFreePage, WrPageIn, WrPoolAllocation, WrDelayExecution, WrSuspended, WrUserRequest, WrEventPair, WrQueue, WrLpcReceive, WrLpcReply, WrVirtualMemory, WrPageOut, WrRendezvous, Spare2, Spare3, Spare4, Spare5, Spare6, WrKernel, MaximumWaitReason } KWAIT_REASON ; #line 9207 typedef struct _DISPATCHER_HEADER { UCHAR Type ; UCHAR Absolute ; UCHAR Size ; UCHAR Inserted ; LONG SignalState ; LIST_ENTRY WaitListHead ; } DISPATCHER_HEADER ; #line 9217 typedef struct _KWAIT_BLOCK { LIST_ENTRY WaitListEntry ; struct _KTHREAD * Thread ; PVOID Object ; struct _KWAIT_BLOCK * NextWaitBlock ; USHORT WaitKey ; USHORT WaitType ; } KWAIT_BLOCK , * PKWAIT_BLOCK , * PRKWAIT_BLOCK ; #line 9230 typedef void ( * PKSTART_ROUTINE )(PVOID StartContext ) ; #line 9244 typedef struct _KDEVICE_QUEUE { CSHORT Type ; CSHORT Size ; LIST_ENTRY DeviceListHead ; KSPIN_LOCK Lock ; BOOLEAN Busy ; } KDEVICE_QUEUE , * PKDEVICE_QUEUE , * PRKDEVICE_QUEUE ; typedef struct _KDEVICE_QUEUE_ENTRY { LIST_ENTRY DeviceListEntry ; ULONG SortKey ; BOOLEAN Inserted ; } KDEVICE_QUEUE_ENTRY , * PKDEVICE_QUEUE_ENTRY , * PRKDEVICE_QUEUE_ENTRY ; #line 9263 typedef struct _KEVENT { DISPATCHER_HEADER Header ; } KEVENT , * PKEVENT , * PRKEVENT ; #line 9271 typedef BOOLEAN ( * PKSERVICE_ROUTINE )(struct _KINTERRUPT * Interrupt , PVOID ServiceContext ) ; #line 9281 typedef struct _KMUTANT { DISPATCHER_HEADER Header ; LIST_ENTRY MutantListEntry ; struct _KTHREAD * OwnerThread ; BOOLEAN Abandoned ; UCHAR ApcDisable ; } KMUTANT , * PKMUTANT , * PRKMUTANT , KMUTEX , * PKMUTEX , * PRKMUTEX ; #line 9294 typedef struct _KSEMAPHORE { DISPATCHER_HEADER Header ; LONG Limit ; } KSEMAPHORE , * PKSEMAPHORE , * PRKSEMAPHORE ; #line 9304 typedef struct _KTIMER { DISPATCHER_HEADER Header ; ULARGE_INTEGER DueTime ; LIST_ENTRY TimerListEntry ; struct _KDPC * Dpc ; LONG Period ; } KTIMER , * PKTIMER , * PRKTIMER ; #line 9316 __declspec(dllimport) void KeInitializeDpc(PRKDPC Dpc , PKDEFERRED_ROUTINE DeferredRoutine , PVOID DeferredContext ) ; #line 9324 __declspec(dllimport) BOOLEAN KeInsertQueueDpc(PRKDPC Dpc , PVOID SystemArgument1 , PVOID SystemArgument2 ) ; #line 9332 __declspec(dllimport) BOOLEAN KeRemoveQueueDpc(PRKDPC Dpc ) ; #line 9340 __declspec(dllimport) void KeSetImportanceDpc(PRKDPC Dpc , KDPC_IMPORTANCE Importance ) ; #line 9347 __declspec(dllimport) void KeSetTargetProcessorDpc(PRKDPC Dpc , CCHAR Number ) ; #line 9359 __declspec(dllimport) void KeInitializeDeviceQueue(PKDEVICE_QUEUE DeviceQueue ) ; #line 9365 __declspec(dllimport) BOOLEAN KeInsertDeviceQueue(PKDEVICE_QUEUE DeviceQueue , PKDEVICE_QUEUE_ENTRY DeviceQueueEntry ) ; #line 9372 __declspec(dllimport) BOOLEAN KeInsertByKeyDeviceQueue(PKDEVICE_QUEUE DeviceQueue , PKDEVICE_QUEUE_ENTRY DeviceQueueEntry , ULONG SortKey ) ; #line 9380 __declspec(dllimport) PKDEVICE_QUEUE_ENTRY KeRemoveDeviceQueue(PKDEVICE_QUEUE DeviceQueue ) ; #line 9386 __declspec(dllimport) PKDEVICE_QUEUE_ENTRY KeRemoveByKeyDeviceQueue(PKDEVICE_QUEUE DeviceQueue , ULONG SortKey ) ; #line 9393 __declspec(dllimport) BOOLEAN KeRemoveEntryDeviceQueue(PKDEVICE_QUEUE DeviceQueue , PKDEVICE_QUEUE_ENTRY DeviceQueueEntry ) ; #line 9400 __declspec(dllimport) BOOLEAN KeSynchronizeExecution(PKINTERRUPT Interrupt , PKSYNCHRONIZE_ROUTINE SynchronizeRoutine , PVOID SynchronizeContext ) ; #line 9415 __declspec(dllimport) void KeInitializeEvent(PRKEVENT Event , EVENT_TYPE Type , BOOLEAN State ) ; #line 9423 __declspec(dllimport) void KeClearEvent(PRKEVENT Event ) ; #line 9429 __declspec(dllimport) LONG KePulseEvent(PRKEVENT Event , KPRIORITY Increment , BOOLEAN Wait ) ; #line 9437 __declspec(dllimport) LONG KeReadStateEvent(PRKEVENT Event ) ; #line 9445 __declspec(dllimport) LONG KeResetEvent(PRKEVENT Event ) ; #line 9451 __declspec(dllimport) LONG KeSetEvent(PRKEVENT Event , KPRIORITY Increment , BOOLEAN Wait ) ; #line 9463 __declspec(dllimport) void KeInitializeMutex(PRKMUTEX Mutex , ULONG Level ) ; #line 9472 __declspec(dllimport) LONG KeReleaseMutex(PRKMUTEX Mutex , BOOLEAN Wait ) ; #line 9483 __declspec(dllimport) void KeInitializeSemaphore(PRKSEMAPHORE Semaphore , LONG Count , LONG Limit ) ; #line 9491 __declspec(dllimport) LONG KeReadStateSemaphore(PRKSEMAPHORE Semaphore ) ; #line 9497 __declspec(dllimport) LONG KeReleaseSemaphore(PRKSEMAPHORE Semaphore , KPRIORITY Increment , LONG Adjustment , BOOLEAN Wait ) ; #line 9506 __declspec(dllimport) NTSTATUS KeDelayExecutionThread(KPROCESSOR_MODE WaitMode , BOOLEAN Alertable , PLARGE_INTEGER Interval ) ; #line 9514 __declspec(dllimport) KPRIORITY KeQueryPriorityThread(PKTHREAD Thread ) ; #line 9520 __declspec(dllimport) LONG KeSetBasePriorityThread(PKTHREAD Thread , LONG Increment ) ; #line 9527 __declspec(dllimport) KPRIORITY KeSetPriorityThread(PKTHREAD Thread , KPRIORITY Priority ) ; #line 9539 __declspec(dllimport) void KeEnterCriticalRegion(void ) ; #line 9545 __declspec(dllimport) void KeLeaveCriticalRegion(void ) ; #line 9623 __declspec(dllimport) void KeInitializeTimer(PKTIMER Timer ) ; #line 9629 __declspec(dllimport) void KeInitializeTimerEx(PKTIMER Timer , TIMER_TYPE Type ) ; #line 9636 __declspec(dllimport) BOOLEAN KeCancelTimer(PKTIMER ) ; #line 9642 __declspec(dllimport) BOOLEAN KeReadStateTimer(PKTIMER Timer ) ; #line 9648 __declspec(dllimport) BOOLEAN KeSetTimer(PKTIMER Timer , LARGE_INTEGER DueTime , PKDPC Dpc ) ; #line 9656 __declspec(dllimport) BOOLEAN KeSetTimerEx(PKTIMER Timer , LARGE_INTEGER DueTime , LONG Period , PKDPC Dpc ) ; #line 9668 __declspec(dllimport) NTSTATUS KeWaitForMultipleObjects(ULONG Count , PVOID Object[] , WAIT_TYPE WaitType , KWAIT_REASON WaitReason , KPROCESSOR_MODE WaitMode , BOOLEAN Alertable , PLARGE_INTEGER Timeout , PKWAIT_BLOCK WaitBlockArray ) ; #line 9681 __declspec(dllimport) NTSTATUS KeWaitForSingleObject(PVOID Object , KWAIT_REASON WaitReason , KPROCESSOR_MODE WaitMode , BOOLEAN Alertable , PLARGE_INTEGER Timeout ) ; #line 9711 __declspec(dllimport) void __stdcall KeInitializeSpinLock(PKSPIN_LOCK SpinLock ) ; #line 9720 __declspec(dllimport) void _fastcall KefAcquireSpinLockAtDpcLevel(PKSPIN_LOCK SpinLock ) ; #line 9727 __declspec(dllimport) void _fastcall KefReleaseSpinLockFromDpcLevel(PKSPIN_LOCK SpinLock ) ; #line 9737 __declspec(dllimport) KIRQL _fastcall KfAcquireSpinLock(PKSPIN_LOCK SpinLock ) ; #line 9744 __declspec(dllimport) void _fastcall KfReleaseSpinLock(PKSPIN_LOCK SpinLock , KIRQL NewIrql ) ; #line 9754 __declspec(dllimport) KIRQL _fastcall KeAcquireSpinLockRaiseToSynch(PKSPIN_LOCK SpinLock ) ; #line 9808 __declspec(dllimport) void _fastcall KfLowerIrql(KIRQL NewIrql ) ; #line 9815 __declspec(dllimport) KIRQL _fastcall KfRaiseIrql(KIRQL NewIrql ) ; #line 9824 __declspec(dllimport) KIRQL KeRaiseIrqlToDpcLevel(void ) ; #line 9830 __declspec(dllimport) KIRQL KeRaiseIrqlToSynchLevel(void ) ; #line 9893 BOOLEAN KeGetBugMessageText(ULONG MessageId , PANSI_STRING ReturnedString ) ; #line 9899 typedef enum _KBUGCHECK_BUFFER_DUMP_STATE { BufferEmpty, BufferInserted, BufferStarted, BufferFinished, BufferIncomplete } KBUGCHECK_BUFFER_DUMP_STATE ; typedef void ( * PKBUGCHECK_CALLBACK_ROUTINE )(PVOID Buffer , ULONG Length ) ; #line 9914 typedef struct _KBUGCHECK_CALLBACK_RECORD { LIST_ENTRY Entry ; PKBUGCHECK_CALLBACK_ROUTINE CallbackRoutine ; PVOID Buffer ; ULONG Length ; PUCHAR Component ; ULONG_PTR Checksum ; UCHAR State ; } KBUGCHECK_CALLBACK_RECORD , * PKBUGCHECK_CALLBACK_RECORD ; __declspec(dllimport) __declspec(noreturn) void __stdcall KeBugCheck(ULONG BugCheckCode ) ; #line 9934 __declspec(dllimport) __declspec(noreturn) void KeBugCheckEx(ULONG BugCheckCode , ULONG_PTR BugCheckParameter1 , ULONG_PTR BugCheckParameter2 , ULONG_PTR BugCheckParameter3 , ULONG_PTR BugCheckParameter4 ) ; #line 9950 __declspec(dllimport) BOOLEAN KeDeregisterBugCheckCallback(PKBUGCHECK_CALLBACK_RECORD CallbackRecord ) ; #line 9956 __declspec(dllimport) BOOLEAN KeRegisterBugCheckCallback(PKBUGCHECK_CALLBACK_RECORD CallbackRecord , PKBUGCHECK_CALLBACK_ROUTINE CallbackRoutine , PVOID Buffer , ULONG Length , PUCHAR Component ) ; #line 9966 __declspec(dllimport) void KeEnterKernelDebugger(void ) ; #line 9973 __declspec(dllimport) ULONGLONG KeQueryInterruptTime(void ) ; #line 9979 __declspec(dllimport) void KeQuerySystemTime(PLARGE_INTEGER CurrentTime ) ; #line 9985 __declspec(dllimport) ULONG KeQueryTimeIncrement(void ) ; #line 9992 __declspec(dllimport) KAFFINITY KeQueryActiveProcessors(void ) ; #line 10002 typedef void (_fastcall * PSWAP_CONTEXT_NOTIFY_ROUTINE )(HANDLE OldThreadId , HANDLE NewThreadId ) ; #line 10009 __declspec(dllimport) void _fastcall KeSetSwapContextNotifyRoutine(PSWAP_CONTEXT_NOTIFY_ROUTINE NotifyRoutine ) ; #line 10020 typedef LOGICAL (_fastcall * PTHREAD_SELECT_NOTIFY_ROUTINE )(HANDLE ThreadId ) ; #line 10026 __declspec(dllimport) void _fastcall KeSetThreadSelectNotifyRoutine(PTHREAD_SELECT_NOTIFY_ROUTINE NotifyRoutine ) ; #line 10037 typedef void (_fastcall * PTIME_UPDATE_NOTIFY_ROUTINE )(HANDLE ThreadId , KPROCESSOR_MODE Mode ) ; #line 10044 __declspec(dllimport) void _fastcall KeSetTimeUpdateNotifyRoutine(PTIME_UPDATE_NOTIFY_ROUTINE NotifyRoutine ) ; #line 10051 extern volatile KSYSTEM_TIME KeTickCount ; typedef enum _MEMORY_CACHING_TYPE_ORIG { MmFrameBufferCached = 2 } MEMORY_CACHING_TYPE_ORIG ; typedef enum _MEMORY_CACHING_TYPE { MmNonCached = 0, MmCached = 1, MmWriteCombined = MmFrameBufferCached, MmHardwareCoherentCached, MmNonCachedUnordered, MmUSWCCached, MmMaximumCacheType } MEMORY_CACHING_TYPE ; #line 10074 extern PBOOLEAN KdDebuggerNotPresent ; extern PBOOLEAN KdDebuggerEnabled ; #line 10087 typedef struct _DBGKD_DEBUG_DATA_HEADER64 * PDBGKD_DEBUG_DATA_HEADER64 ; BOOLEAN KdRegisterDebuggerDataBlock(ULONG Tag , PDBGKD_DEBUG_DATA_HEADER64 DataHeader , ULONG Size ) ; #line 10096 void KdDeregisterDebuggerDataBlock32(PDBGKD_DEBUG_DATA_HEADER64 DataHeader ) ; #line 10101 void KdDisableDebugger(void ) ; #line 10106 void KdEnableDebugger(void ) ; #line 10115 typedef enum _POOL_TYPE { NonPagedPool, PagedPool, NonPagedPoolMustSucceed, DontUseThisType, NonPagedPoolCacheAligned, PagedPoolCacheAligned, NonPagedPoolCacheAlignedMustS, MaxPoolType, NonPagedPoolSession = 32, PagedPoolSession = NonPagedPoolSession + 1, NonPagedPoolMustSucceedSession = PagedPoolSession + 1, DontUseThisTypeSession = NonPagedPoolMustSucceedSession + 1, NonPagedPoolCacheAlignedSession = DontUseThisTypeSession + 1, PagedPoolCacheAlignedSession = NonPagedPoolCacheAlignedSession + 1, NonPagedPoolCacheAlignedMustSSession = PagedPoolCacheAlignedSession + 1 } POOL_TYPE ; #line 10145 __declspec(dllimport) PVOID ExAllocatePool(POOL_TYPE PoolType , SIZE_T NumberOfBytes ) ; #line 10152 __declspec(dllimport) PVOID ExAllocatePoolWithQuota(POOL_TYPE PoolType , SIZE_T NumberOfBytes ) ; #line 10159 __declspec(dllimport) PVOID __stdcall ExAllocatePoolWithTag(POOL_TYPE PoolType , SIZE_T NumberOfBytes , ULONG Tag ) ; #line 10195 typedef enum _EX_POOL_PRIORITY { LowPoolPriority, LowPoolPrioritySpecialPoolOverrun = 8, LowPoolPrioritySpecialPoolUnderrun = 9, NormalPoolPriority = 16, NormalPoolPrioritySpecialPoolOverrun = 24, NormalPoolPrioritySpecialPoolUnderrun = 25, HighPoolPriority = 32, HighPoolPrioritySpecialPoolOverrun = 40, HighPoolPrioritySpecialPoolUnderrun = 41 } EX_POOL_PRIORITY ; #line 10208 __declspec(dllimport) PVOID __stdcall ExAllocatePoolWithTagPriority(POOL_TYPE PoolType , SIZE_T NumberOfBytes , ULONG Tag , EX_POOL_PRIORITY Priority ) ; #line 10224 __declspec(dllimport) PVOID ExAllocatePoolWithQuotaTag(POOL_TYPE PoolType , SIZE_T NumberOfBytes , ULONG Tag ) ; #line 10236 __declspec(dllimport) void __stdcall ExFreePool(PVOID P ) ; #line 10247 typedef struct _FAST_MUTEX { LONG Count ; PKTHREAD Owner ; ULONG Contention ; KEVENT Event ; ULONG OldIrql ; } FAST_MUTEX , * PFAST_MUTEX ; #line 10272 __declspec(dllimport) void _fastcall ExAcquireFastMutexUnsafe(PFAST_MUTEX FastMutex ) ; #line 10279 __declspec(dllimport) void _fastcall ExReleaseFastMutexUnsafe(PFAST_MUTEX FastMutex ) ; #line 10315 __declspec(dllimport) void _fastcall ExAcquireFastMutex(PFAST_MUTEX FastMutex ) ; #line 10322 __declspec(dllimport) void _fastcall ExReleaseFastMutex(PFAST_MUTEX FastMutex ) ; #line 10331 __declspec(dllimport) BOOLEAN _fastcall ExTryToAcquireFastMutex(PFAST_MUTEX FastMutex ) ; #line 10348 __declspec(dllimport) void _fastcall ExInterlockedAddLargeStatistic(PLARGE_INTEGER Addend , ULONG Increment ) ; #line 10358 __declspec(dllimport) LARGE_INTEGER ExInterlockedAddLargeInteger(PLARGE_INTEGER Addend , LARGE_INTEGER Increment , PKSPIN_LOCK Lock ) ; #line 10367 __declspec(dllimport) ULONG _fastcall ExfInterlockedAddUlong(PULONG Addend , ULONG Increment , PKSPIN_LOCK Lock ) ; #line 10394 __declspec(dllimport) LONGLONG _fastcall ExInterlockedCompareExchange64(PLONGLONG Destination , PLONGLONG Exchange , PLONGLONG Comperand , PKSPIN_LOCK Lock ) ; #line 10406 __declspec(dllimport) PLIST_ENTRY _fastcall ExfInterlockedInsertHeadList(PLIST_ENTRY ListHead , PLIST_ENTRY ListEntry , PKSPIN_LOCK Lock ) ; #line 10415 __declspec(dllimport) PLIST_ENTRY _fastcall ExfInterlockedInsertTailList(PLIST_ENTRY ListHead , PLIST_ENTRY ListEntry , PKSPIN_LOCK Lock ) ; #line 10424 __declspec(dllimport) PLIST_ENTRY _fastcall ExfInterlockedRemoveHeadList(PLIST_ENTRY ListHead , PKSPIN_LOCK Lock ) ; #line 10432 __declspec(dllimport) PSINGLE_LIST_ENTRY _fastcall ExfInterlockedPopEntryList(PSINGLE_LIST_ENTRY ListHead , PKSPIN_LOCK Lock ) ; #line 10440 __declspec(dllimport) PSINGLE_LIST_ENTRY _fastcall ExfInterlockedPushEntryList(PSINGLE_LIST_ENTRY ListHead , PSINGLE_LIST_ENTRY ListEntry , PKSPIN_LOCK Lock ) ; #line 10547 __declspec(dllimport) PSINGLE_LIST_ENTRY _fastcall ExInterlockedPopEntrySList(PSLIST_HEADER ListHead , PKSPIN_LOCK Lock ) ; #line 10555 __declspec(dllimport) PSINGLE_LIST_ENTRY _fastcall ExInterlockedPushEntrySList(PSLIST_HEADER ListHead , PSINGLE_LIST_ENTRY ListEntry , PKSPIN_LOCK Lock ) ; #line 10564 __declspec(dllimport) PSINGLE_LIST_ENTRY _fastcall ExInterlockedFlushSList(PSLIST_HEADER ListHead ) ; #line 10574 typedef PVOID ( * PALLOCATE_FUNCTION )(POOL_TYPE PoolType , SIZE_T NumberOfBytes , ULONG Tag ) ; #line 10582 typedef void ( * PFREE_FUNCTION )(PVOID Buffer ) ; #line 10588 typedef struct _GENERAL_LOOKASIDE { SLIST_HEADER ListHead ; USHORT Depth ; USHORT MaximumDepth ; ULONG TotalAllocates ; union { ULONG AllocateMisses ; ULONG AllocateHits ; } ; ULONG TotalFrees ; union { ULONG FreeMisses ; ULONG FreeHits ; } ; POOL_TYPE Type ; ULONG Tag ; ULONG Size ; PALLOCATE_FUNCTION Allocate ; PFREE_FUNCTION Free ; LIST_ENTRY ListEntry ; ULONG LastTotalAllocates ; union { ULONG LastAllocateMisses ; ULONG LastAllocateHits ; } ; ULONG Future[2] ; } GENERAL_LOOKASIDE , * PGENERAL_LOOKASIDE ; #line 10619 typedef struct _NPAGED_LOOKASIDE_LIST { GENERAL_LOOKASIDE L ; KSPIN_LOCK Lock ; } NPAGED_LOOKASIDE_LIST , * PNPAGED_LOOKASIDE_LIST ; #line 10625 __declspec(dllimport) void ExInitializeNPagedLookasideList(PNPAGED_LOOKASIDE_LIST Lookaside , PALLOCATE_FUNCTION Allocate , PFREE_FUNCTION Free , ULONG Flags , SIZE_T Size , ULONG Tag , USHORT Depth ) ; #line 10637 __declspec(dllimport) void ExDeleteNPagedLookasideList(PNPAGED_LOOKASIDE_LIST Lookaside ) ; #line 10643 __inline PVOID ExAllocateFromNPagedLookasideList(PNPAGED_LOOKASIDE_LIST Lookaside ) { #line 10670 PVOID Entry ; #line 10672 (Lookaside->L).TotalAllocates += 1; Entry = ExInterlockedPopEntrySList(& (Lookaside->L).ListHead, & Lookaside->Lock); #line 10674 if(Entry == (void * )0) { #line 10675 (Lookaside->L).AllocateMisses += 1; Entry = ((Lookaside->L).Allocate)((Lookaside->L).Type, (Lookaside->L).Size, (Lookaside->L).Tag); } #line 10681 return Entry; } __inline void ExFreeToNPagedLookasideList(PNPAGED_LOOKASIDE_LIST Lookaside , PVOID Entry ) { #line 10713 (Lookaside->L).TotalFrees += 1; if((USHORT )(& (Lookaside->L).ListHead)->Depth >= (Lookaside->L).Depth) { #line 10715 (Lookaside->L).FreeMisses += 1; ((Lookaside->L).Free)(Entry); } else { #line 10719 ExInterlockedPushEntrySList(& (Lookaside->L).ListHead, (PSINGLE_LIST_ENTRY )Entry, & Lookaside->Lock); } #line 10724 return; } #line 10729 typedef struct _PAGED_LOOKASIDE_LIST { GENERAL_LOOKASIDE L ; FAST_MUTEX Lock ; } PAGED_LOOKASIDE_LIST , * PPAGED_LOOKASIDE_LIST ; __declspec(dllimport) void ExInitializePagedLookasideList(PPAGED_LOOKASIDE_LIST Lookaside , PALLOCATE_FUNCTION Allocate , PFREE_FUNCTION Free , ULONG Flags , SIZE_T Size , ULONG Tag , USHORT Depth ) ; #line 10746 __declspec(dllimport) void ExDeletePagedLookasideList(PPAGED_LOOKASIDE_LIST Lookaside ) ; #line 10754 __declspec(dllimport) PVOID ExAllocateFromPagedLookasideList(PPAGED_LOOKASIDE_LIST Lookaside ) ; #line 10760 __declspec(dllimport) void ExFreeToPagedLookasideList(PPAGED_LOOKASIDE_LIST Lookaside , PVOID Entry ) ; #line 10856 __declspec(dllimport) void __stdcall ProbeForRead(const void * Address , ULONG Length , ULONG Alignment ) ; #line 10869 __declspec(dllimport) void __stdcall ProbeForWrite(PVOID Address , ULONG Length , ULONG Alignment ) ; #line 10882 typedef enum _WORK_QUEUE_TYPE { CriticalWorkQueue, DelayedWorkQueue, HyperCriticalWorkQueue, MaximumWorkQueue } WORK_QUEUE_TYPE ; typedef void ( * PWORKER_THREAD_ROUTINE )(PVOID Parameter ) ; #line 10895 typedef struct _WORK_QUEUE_ITEM { LIST_ENTRY List ; PWORKER_THREAD_ROUTINE WorkerRoutine ; PVOID Parameter ; } WORK_QUEUE_ITEM , * PWORK_QUEUE_ITEM ; #line 10907 __declspec(dllimport) void ExQueueWorkItem(PWORK_QUEUE_ITEM WorkItem , WORK_QUEUE_TYPE QueueType ) ; #line 10916 __declspec(dllimport) BOOLEAN ExIsProcessorFeaturePresent(ULONG ProcessorFeature ) ; #line 10926 typedef struct _ZONE_SEGMENT_HEADER { SINGLE_LIST_ENTRY SegmentList ; PVOID Reserved ; } ZONE_SEGMENT_HEADER , * PZONE_SEGMENT_HEADER ; typedef struct _ZONE_HEADER { SINGLE_LIST_ENTRY FreeList ; SINGLE_LIST_ENTRY SegmentList ; ULONG BlockSize ; ULONG TotalSegmentSize ; } ZONE_HEADER , * PZONE_HEADER ; #line 10939 __declspec(dllimport) NTSTATUS ExInitializeZone(PZONE_HEADER Zone , ULONG BlockSize , PVOID InitialSegment , ULONG InitialSegmentSize ) ; #line 10948 __declspec(dllimport) NTSTATUS ExExtendZone(PZONE_HEADER Zone , PVOID Segment , ULONG SegmentSize ) ; #line 10956 __declspec(dllimport) NTSTATUS ExInterlockedExtendZone(PZONE_HEADER Zone , PVOID Segment , ULONG SegmentSize , PKSPIN_LOCK Lock ) ; #line 11156 typedef ULONG_PTR ERESOURCE_THREAD ; #line 11157 typedef ERESOURCE_THREAD * PERESOURCE_THREAD ; typedef struct _OWNER_ENTRY { ERESOURCE_THREAD OwnerThread ; union { LONG OwnerCount ; ULONG TableSize ; } ; } OWNER_ENTRY , * POWNER_ENTRY ; #line 11168 typedef struct _ERESOURCE { LIST_ENTRY SystemResourcesList ; POWNER_ENTRY OwnerTable ; SHORT ActiveCount ; USHORT Flag ; PKSEMAPHORE SharedWaiters ; PKEVENT ExclusiveWaiters ; OWNER_ENTRY OwnerThreads[2] ; ULONG ContentionCount ; USHORT NumberOfSharedWaiters ; USHORT NumberOfExclusiveWaiters ; union { PVOID Address ; ULONG_PTR CreatorBackTraceIndex ; } ; KSPIN_LOCK SpinLock ; } ERESOURCE , * PERESOURCE ; #line 11197 typedef struct _RESOURCE_HASH_ENTRY { LIST_ENTRY ListEntry ; PVOID Address ; ULONG ContentionCount ; ULONG Number ; } RESOURCE_HASH_ENTRY , * PRESOURCE_HASH_ENTRY ; typedef struct _RESOURCE_PERFORMANCE_DATA { ULONG ActiveResourceCount ; ULONG TotalResourceCount ; ULONG ExclusiveAcquire ; ULONG SharedFirstLevel ; ULONG SharedSecondLevel ; ULONG StarveFirstLevel ; ULONG StarveSecondLevel ; ULONG WaitForExclusive ; ULONG OwnerTableExpands ; ULONG MaximumTableExpand ; LIST_ENTRY HashTable[64] ; } RESOURCE_PERFORMANCE_DATA , * PRESOURCE_PERFORMANCE_DATA ; #line 11222 __declspec(dllimport) NTSTATUS ExInitializeResourceLite(PERESOURCE Resource ) ; #line 11228 __declspec(dllimport) NTSTATUS ExReinitializeResourceLite(PERESOURCE Resource ) ; #line 11234 __declspec(dllimport) BOOLEAN ExAcquireResourceSharedLite(PERESOURCE Resource , BOOLEAN Wait ) ; #line 11241 __declspec(dllimport) BOOLEAN ExAcquireResourceExclusiveLite(PERESOURCE Resource , BOOLEAN Wait ) ; #line 11248 __declspec(dllimport) BOOLEAN ExAcquireSharedStarveExclusive(PERESOURCE Resource , BOOLEAN Wait ) ; #line 11255 __declspec(dllimport) BOOLEAN ExAcquireSharedWaitForExclusive(PERESOURCE Resource , BOOLEAN Wait ) ; #line 11262 __declspec(dllimport) BOOLEAN ExTryToAcquireResourceExclusiveLite(PERESOURCE Resource ) ; #line 11277 __declspec(dllimport) void _fastcall ExReleaseResourceLite(PERESOURCE Resource ) ; #line 11284 __declspec(dllimport) void ExReleaseResourceForThreadLite(PERESOURCE Resource , ERESOURCE_THREAD ResourceThreadId ) ; #line 11291 __declspec(dllimport) void ExSetResourceOwnerPointer(PERESOURCE Resource , PVOID OwnerPointer ) ; #line 11298 __declspec(dllimport) void ExConvertExclusiveToSharedLite(PERESOURCE Resource ) ; #line 11304 __declspec(dllimport) NTSTATUS ExDeleteResourceLite(PERESOURCE Resource ) ; #line 11310 __declspec(dllimport) ULONG ExGetExclusiveWaiterCount(PERESOURCE Resource ) ; #line 11316 __declspec(dllimport) ULONG ExGetSharedWaiterCount(PERESOURCE Resource ) ; #line 11330 __declspec(dllimport) BOOLEAN ExIsResourceAcquiredExclusiveLite(PERESOURCE Resource ) ; #line 11336 __declspec(dllimport) ULONG ExIsResourceAcquiredSharedLite(PERESOURCE Resource ) ; #line 11360 __declspec(dllimport) KPROCESSOR_MODE ExGetPreviousMode(void ) ; #line 11369 __declspec(dllimport) void __stdcall ExRaiseStatus(NTSTATUS Status ) ; #line 11378 __declspec(dllimport) void ExRaiseDatatypeMisalignment(void ) ; #line 11384 __declspec(dllimport) void ExRaiseAccessViolation(void ) ; #line 11394 __declspec(dllimport) ULONG ExSetTimerResolution(ULONG DesiredTime , BOOLEAN SetResolution ) ; #line 11406 __declspec(dllimport) void ExSystemTimeToLocalTime(PLARGE_INTEGER SystemTime , PLARGE_INTEGER LocalTime ) ; #line 11417 __declspec(dllimport) void ExLocalTimeToSystemTime(PLARGE_INTEGER LocalTime , PLARGE_INTEGER SystemTime ) ; #line 11429 typedef struct _CALLBACK_OBJECT * PCALLBACK_OBJECT___0 ; typedef void ( * PCALLBACK_FUNCTION )(PVOID CallbackContext , PVOID Argument1 , PVOID Argument2 ) ; #line 11438 __declspec(dllimport) NTSTATUS ExCreateCallback(PCALLBACK_OBJECT___0 * CallbackObject , POBJECT_ATTRIBUTES ObjectAttributes , BOOLEAN Create , BOOLEAN AllowMultipleCallbacks ) ; #line 11447 __declspec(dllimport) PVOID ExRegisterCallback(PCALLBACK_OBJECT___0 CallbackObject , PCALLBACK_FUNCTION CallbackFunction , PVOID CallbackContext ) ; #line 11455 __declspec(dllimport) void ExUnregisterCallback(PVOID CallbackRegistration ) ; #line 11461 __declspec(dllimport) void ExNotifyCallback(PVOID CallbackObject , PVOID Argument1 , PVOID Argument2 ) ; #line 11474 typedef GUID UUID ; __declspec(dllimport) NTSTATUS ExUuidCreate(UUID * Uuid ) ; #line 11596 extern PBOOLEAN Mm64BitPhysicalAddress ; #line 11862 typedef enum _MM_SYSTEM_SIZE { MmSmallSystem, MmMediumSystem, MmLargeSystem } MM_SYSTEMSIZE ; __declspec(dllimport) MM_SYSTEMSIZE MmQuerySystemSize(void ) ; #line 11876 __declspec(dllimport) BOOLEAN MmIsThisAnNtAsSystem(void ) ; #line 11884 typedef enum _LOCK_OPERATION { IoReadAccess, IoWriteAccess, IoModifyAccess } LOCK_OPERATION ; #line 11891 __declspec(dllimport) void MmProbeAndLockProcessPages(PMDL MemoryDescriptorList , PEPROCESS Process , KPROCESSOR_MODE AccessMode , LOCK_OPERATION Operation ) ; #line 11906 __declspec(dllimport) void MmProbeAndLockPages(PMDL MemoryDescriptorList , KPROCESSOR_MODE AccessMode , LOCK_OPERATION Operation ) ; #line 11915 __declspec(dllimport) void MmUnlockPages(PMDL MemoryDescriptorList ) ; #line 11921 __declspec(dllimport) void MmBuildMdlForNonPagedPool(PMDL MemoryDescriptorList ) ; #line 11927 __declspec(dllimport) PVOID MmMapLockedPages(PMDL MemoryDescriptorList , KPROCESSOR_MODE AccessMode ) ; #line 11934 __declspec(dllimport) PVOID MmGetSystemRoutineAddress(PUNICODE_STRING SystemRoutineName ) ; #line 11942 __declspec(dllimport) NTSTATUS MmMapUserAddressesToPage(PVOID BaseAddress , SIZE_T NumberOfBytes , PVOID PageAddress ) ; #line 11970 typedef enum _MM_PAGE_PRIORITY { LowPagePriority, NormalPagePriority = 16, HighPagePriority = 32 } MM_PAGE_PRIORITY ; #line 11979 __declspec(dllimport) PVOID MmMapLockedPagesSpecifyCache(PMDL MemoryDescriptorList , KPROCESSOR_MODE AccessMode , MEMORY_CACHING_TYPE CacheType , PVOID BaseAddress , ULONG BugCheckOnFailure , MM_PAGE_PRIORITY Priority ) ; #line 11990 __declspec(dllimport) void MmUnmapLockedPages(PVOID BaseAddress , PMDL MemoryDescriptorList ) ; #line 11999 typedef struct _PHYSICAL_MEMORY_RANGE { PHYSICAL_ADDRESS BaseAddress ; LARGE_INTEGER NumberOfBytes ; } PHYSICAL_MEMORY_RANGE , * PPHYSICAL_MEMORY_RANGE ; __declspec(dllimport) NTSTATUS MmAddPhysicalMemory(PPHYSICAL_ADDRESS StartAddress , PLARGE_INTEGER NumberOfBytes ) ; #line 12011 __declspec(dllimport) NTSTATUS MmRemovePhysicalMemory(PPHYSICAL_ADDRESS StartAddress , PLARGE_INTEGER NumberOfBytes ) ; #line 12018 __declspec(dllimport) PPHYSICAL_MEMORY_RANGE MmGetPhysicalMemoryRanges(void ) ; #line 12024 __declspec(dllimport) PMDL MmAllocatePagesForMdl(PHYSICAL_ADDRESS LowAddress , PHYSICAL_ADDRESS HighAddress , PHYSICAL_ADDRESS SkipBytes , SIZE_T TotalBytes ) ; #line 12033 __declspec(dllimport) void MmFreePagesFromMdl(PMDL MemoryDescriptorList ) ; #line 12041 __declspec(dllimport) PVOID MmMapIoSpace(PHYSICAL_ADDRESS PhysicalAddress , SIZE_T NumberOfBytes , MEMORY_CACHING_TYPE CacheType ) ; #line 12049 __declspec(dllimport) void MmUnmapIoSpace(PVOID BaseAddress , SIZE_T NumberOfBytes ) ; #line 12057 __declspec(dllimport) PVOID MmMapVideoDisplay(PHYSICAL_ADDRESS PhysicalAddress , SIZE_T NumberOfBytes , MEMORY_CACHING_TYPE CacheType ) ; #line 12065 __declspec(dllimport) void MmUnmapVideoDisplay(PVOID BaseAddress , SIZE_T NumberOfBytes ) ; #line 12072 __declspec(dllimport) PHYSICAL_ADDRESS MmGetPhysicalAddress(PVOID BaseAddress ) ; #line 12078 __declspec(dllimport) PVOID MmGetVirtualForPhysical(PHYSICAL_ADDRESS PhysicalAddress ) ; #line 12084 __declspec(dllimport) PVOID MmAllocateContiguousMemory(SIZE_T NumberOfBytes , PHYSICAL_ADDRESS HighestAcceptableAddress ) ; #line 12091 __declspec(dllimport) PVOID MmAllocateContiguousMemorySpecifyCache(SIZE_T NumberOfBytes , PHYSICAL_ADDRESS LowestAcceptableAddress , PHYSICAL_ADDRESS HighestAcceptableAddress , PHYSICAL_ADDRESS BoundaryAddressMultiple , MEMORY_CACHING_TYPE CacheType ) ; #line 12101 __declspec(dllimport) void MmFreeContiguousMemory(PVOID BaseAddress ) ; #line 12107 __declspec(dllimport) void MmFreeContiguousMemorySpecifyCache(PVOID BaseAddress , SIZE_T NumberOfBytes , MEMORY_CACHING_TYPE CacheType ) ; #line 12116 __declspec(dllimport) PVOID MmAllocateNonCachedMemory(SIZE_T NumberOfBytes ) ; #line 12122 __declspec(dllimport) void MmFreeNonCachedMemory(PVOID BaseAddress , SIZE_T NumberOfBytes ) ; #line 12129 __declspec(dllimport) BOOLEAN MmIsAddressValid(PVOID VirtualAddress ) ; #line 12135 __declspec(dllimport) BOOLEAN MmIsNonPagedSystemAddressValid(PVOID VirtualAddress ) ; #line 12143 __declspec(dllimport) SIZE_T MmSizeOfMdl(PVOID Base , SIZE_T Length ) ; #line 12150 __declspec(dllimport) PMDL MmCreateMdl(PMDL MemoryDescriptorList , PVOID Base , SIZE_T Length ) ; #line 12158 __declspec(dllimport) PVOID MmLockPagableDataSection(PVOID AddressWithinSection ) ; #line 12166 __declspec(dllimport) void MmLockPagableSectionByHandle(PVOID ImageSectionHandle ) ; #line 12172 __declspec(dllimport) void MmResetDriverPaging(PVOID AddressWithinSection ) ; #line 12179 __declspec(dllimport) PVOID MmPageEntireDriver(PVOID AddressWithinSection ) ; #line 12185 __declspec(dllimport) void MmUnlockPagableImageSection(PVOID ImageSectionHandle ) ; #line 12193 __declspec(dllimport) HANDLE MmSecureVirtualMemory(PVOID Address , SIZE_T Size , ULONG ProbeMode ) ; #line 12201 __declspec(dllimport) void MmUnsecureVirtualMemory(HANDLE SecureHandle ) ; #line 12207 __declspec(dllimport) NTSTATUS MmMapViewInSystemSpace(PVOID Section , PVOID * MappedBase , PSIZE_T ViewSize ) ; #line 12215 __declspec(dllimport) NTSTATUS MmUnmapViewInSystemSpace(PVOID MappedBase ) ; #line 12221 __declspec(dllimport) NTSTATUS MmMapViewInSessionSpace(PVOID Section , PVOID * MappedBase , PSIZE_T ViewSize ) ; #line 12229 __declspec(dllimport) NTSTATUS MmUnmapViewInSessionSpace(PVOID MappedBase ) ; #line 12385 typedef NTSTATUS ( * PMM_DLL_INITIALIZE )(PUNICODE_STRING RegistryPath ) ; #line 12389 typedef NTSTATUS ( * PMM_DLL_UNLOAD )(void ) ; #line 12399 struct _DRIVER_OBJECT ; __declspec(dllimport) LOGICAL MmIsDriverVerifying(struct _DRIVER_OBJECT * DriverObject ) ; #line 12411 typedef enum _SECURITY_OPERATION_CODE { SetSecurityDescriptor, QuerySecurityDescriptor, DeleteSecurityDescriptor, AssignSecurityDescriptor } SECURITY_OPERATION_CODE , * PSECURITY_OPERATION_CODE ; #line 12426 typedef struct _SECURITY_SUBJECT_CONTEXT { PACCESS_TOKEN ClientToken ; SECURITY_IMPERSONATION_LEVEL ImpersonationLevel ; PACCESS_TOKEN PrimaryToken ; PVOID ProcessAuditId ; } SECURITY_SUBJECT_CONTEXT , * PSECURITY_SUBJECT_CONTEXT ; #line 12448 typedef struct _INITIAL_PRIVILEGE_SET { ULONG PrivilegeCount ; ULONG Control ; LUID_AND_ATTRIBUTES Privilege[3] ; } INITIAL_PRIVILEGE_SET , * PINITIAL_PRIVILEGE_SET ; #line 12462 typedef struct _ACCESS_STATE { LUID OperationID ; BOOLEAN SecurityEvaluated ; BOOLEAN GenerateAudit ; BOOLEAN GenerateOnClose ; BOOLEAN PrivilegesAllocated ; ULONG Flags ; ACCESS_MASK RemainingDesiredAccess ; ACCESS_MASK PreviouslyGrantedAccess ; ACCESS_MASK OriginalDesiredAccess ; SECURITY_SUBJECT_CONTEXT SubjectSecurityContext ; PSECURITY_DESCRIPTOR SecurityDescriptor ; PVOID AuxData ; union { INITIAL_PRIVILEGE_SET InitialPrivilegeSet ; PRIVILEGE_SET PrivilegeSet ; } Privileges ; BOOLEAN AuditPrivileges ; UNICODE_STRING ObjectName ; UNICODE_STRING ObjectTypeName ; } ACCESS_STATE , * PACCESS_STATE ; #line 12487 __declspec(dllimport) NTSTATUS SeAssignSecurity(PSECURITY_DESCRIPTOR ParentDescriptor , PSECURITY_DESCRIPTOR ExplicitDescriptor , PSECURITY_DESCRIPTOR * NewDescriptor , BOOLEAN IsDirectoryObject , PSECURITY_SUBJECT_CONTEXT SubjectContext , PGENERIC_MAPPING GenericMapping , POOL_TYPE PoolType ) ; #line 12499 __declspec(dllimport) NTSTATUS SeAssignSecurityEx(PSECURITY_DESCRIPTOR ParentDescriptor , PSECURITY_DESCRIPTOR ExplicitDescriptor , PSECURITY_DESCRIPTOR * NewDescriptor , GUID * ObjectType , BOOLEAN IsDirectoryObject , ULONG AutoInheritFlags , PSECURITY_SUBJECT_CONTEXT SubjectContext , PGENERIC_MAPPING GenericMapping , POOL_TYPE PoolType ) ; #line 12513 __declspec(dllimport) NTSTATUS SeDeassignSecurity(PSECURITY_DESCRIPTOR * SecurityDescriptor ) ; #line 12519 __declspec(dllimport) BOOLEAN SeAccessCheck(PSECURITY_DESCRIPTOR SecurityDescriptor , PSECURITY_SUBJECT_CONTEXT SubjectSecurityContext , BOOLEAN SubjectContextLocked , ACCESS_MASK DesiredAccess , ACCESS_MASK PreviouslyGrantedAccess , PPRIVILEGE_SET * Privileges , PGENERIC_MAPPING GenericMapping , KPROCESSOR_MODE AccessMode , PACCESS_MASK GrantedAccess , PNTSTATUS AccessStatus ) ; #line 12535 __declspec(dllimport) BOOLEAN SeValidSecurityDescriptor(ULONG Length , PSECURITY_DESCRIPTOR SecurityDescriptor ) ; #line 12542 __declspec(dllimport) BOOLEAN SeSinglePrivilegeCheck(LUID PrivilegeValue , KPROCESSOR_MODE PreviousMode ) ; #line 12552 __declspec(dllimport) NTSTATUS PsCreateSystemThread(PHANDLE ThreadHandle , ULONG DesiredAccess , POBJECT_ATTRIBUTES ObjectAttributes , HANDLE ProcessHandle , PCLIENT_ID ClientId , PKSTART_ROUTINE StartRoutine , PVOID StartContext ) ; #line 12564 __declspec(dllimport) NTSTATUS PsTerminateSystemThread(NTSTATUS ExitStatus ) ; #line 12571 typedef void ( * PCREATE_PROCESS_NOTIFY_ROUTINE )(HANDLE ParentId , HANDLE ProcessId , BOOLEAN Create ) ; #line 12579 NTSTATUS PsSetCreateProcessNotifyRoutine(PCREATE_PROCESS_NOTIFY_ROUTINE NotifyRoutine , BOOLEAN Remove ) ; #line 12585 typedef void ( * PCREATE_THREAD_NOTIFY_ROUTINE )(HANDLE ProcessId , HANDLE ThreadId , BOOLEAN Create ) ; #line 12593 NTSTATUS PsSetCreateThreadNotifyRoutine(PCREATE_THREAD_NOTIFY_ROUTINE NotifyRoutine ) ; #line 12602 typedef struct _IMAGE_INFO { union { ULONG Properties ; struct { ULONG ImageAddressingMode : 8; ULONG SystemModeImage : 1; ULONG ImageMappedToAllPids : 1; ULONG Reserved : 22; } ; } ; PVOID ImageBase ; ULONG ImageSelector ; SIZE_T ImageSize ; ULONG ImageSectionNumber ; } IMAGE_INFO , * PIMAGE_INFO ; #line 12620 typedef void ( * PLOAD_IMAGE_NOTIFY_ROUTINE )(PUNICODE_STRING FullImageName , HANDLE ProcessId , PIMAGE_INFO ImageInfo ) ; #line 12628 NTSTATUS PsSetLoadImageNotifyRoutine(PLOAD_IMAGE_NOTIFY_ROUTINE NotifyRoutine ) ; #line 12633 HANDLE PsGetCurrentProcessId(void ) ; #line 12636 HANDLE PsGetCurrentThreadId(void ) ; #line 12639 BOOLEAN PsGetVersion(PULONG MajorVersion , PULONG MinorVersion , PULONG BuildNumber , PUNICODE_STRING CSDVersion ) ; #line 12859 typedef NTSTATUS ( * PIO_QUERY_DEVICE_ROUTINE )(PVOID Context , PUNICODE_STRING PathName , INTERFACE_TYPE BusType , ULONG BusNumber , PKEY_VALUE_FULL_INFORMATION * BusInformation , CONFIGURATION_TYPE ControllerType , ULONG ControllerNumber , PKEY_VALUE_FULL_INFORMATION * ControllerInformation , CONFIGURATION_TYPE PeripheralType , ULONG PeripheralNumber , PKEY_VALUE_FULL_INFORMATION * PeripheralInformation ) ; #line 12878 typedef enum _IO_QUERY_DEVICE_DATA_FORMAT { IoQueryDeviceIdentifier = 0, IoQueryDeviceConfigurationData, IoQueryDeviceComponentInformation, IoQueryDeviceMaxData } IO_QUERY_DEVICE_DATA_FORMAT , * PIO_QUERY_DEVICE_DATA_FORMAT ; #line 12890 typedef enum _CREATE_FILE_TYPE { CreateFileTypeNone, CreateFileTypeNamedPipe, CreateFileTypeMailslot } CREATE_FILE_TYPE ; #line 12905 struct _DEVICE_DESCRIPTION ; #line 12906 struct _DEVICE_OBJECT ; #line 12907 struct _DMA_ADAPTER ; #line 12908 struct _DRIVER_OBJECT ; #line 12909 struct _DRIVE_LAYOUT_INFORMATION ; #line 12910 struct _DISK_PARTITION ; #line 12911 struct _FILE_OBJECT ; #line 12912 struct _IRP ; #line 12913 struct _SCSI_REQUEST_BLOCK ; #line 12919 typedef void ( * PIO_DPC_ROUTINE )(PKDPC Dpc , struct _DEVICE_OBJECT * DeviceObject , struct _IRP * Irp , PVOID Context ) ; #line 12932 typedef void ( * PIO_TIMER_ROUTINE )(struct _DEVICE_OBJECT * DeviceObject , PVOID Context ) ; #line 12943 typedef NTSTATUS ( * PDRIVER_INITIALIZE )(struct _DRIVER_OBJECT * DriverObject , PUNICODE_STRING RegistryPath ) ; #line 12955 typedef void ( * PDRIVER_REINITIALIZE )(struct _DRIVER_OBJECT * DriverObject , PVOID Context , ULONG Count ) ; #line 12968 typedef void ( * PDRIVER_CANCEL )(struct _DEVICE_OBJECT * DeviceObject , struct _IRP * Irp ) ; #line 12979 typedef NTSTATUS ( * PDRIVER_DISPATCH )(struct _DEVICE_OBJECT * DeviceObject , struct _IRP * Irp ) ; #line 12990 typedef void ( * PDRIVER_STARTIO )(struct _DEVICE_OBJECT * DeviceObject , struct _IRP * Irp ) ; #line 13001 typedef void ( * PDRIVER_UNLOAD )(struct _DRIVER_OBJECT * DriverObject ) ; #line 13011 typedef NTSTATUS ( * PDRIVER_ADD_DEVICE )(struct _DRIVER_OBJECT * DriverObject , struct _DEVICE_OBJECT * PhysicalDeviceObject ) ; #line 13025 typedef BOOLEAN ( * PFAST_IO_CHECK_IF_POSSIBLE )(struct _FILE_OBJECT * FileObject , PLARGE_INTEGER FileOffset , ULONG Length , BOOLEAN Wait , ULONG LockKey , BOOLEAN CheckForReadOperation , PIO_STATUS_BLOCK IoStatus , struct _DEVICE_OBJECT * DeviceObject ) ; #line 13038 typedef BOOLEAN ( * PFAST_IO_READ )(struct _FILE_OBJECT * FileObject , PLARGE_INTEGER FileOffset , ULONG Length , BOOLEAN Wait , ULONG LockKey , PVOID Buffer , PIO_STATUS_BLOCK IoStatus , struct _DEVICE_OBJECT * DeviceObject ) ; #line 13051 typedef BOOLEAN ( * PFAST_IO_WRITE )(struct _FILE_OBJECT * FileObject , PLARGE_INTEGER FileOffset , ULONG Length , BOOLEAN Wait , ULONG LockKey , PVOID Buffer , PIO_STATUS_BLOCK IoStatus , struct _DEVICE_OBJECT * DeviceObject ) ; #line 13068 typedef BOOLEAN ( * PFAST_IO_QUERY_BASIC_INFO )(struct _FILE_OBJECT * FileObject , BOOLEAN Wait , PFILE_BASIC_INFORMATION Buffer , PIO_STATUS_BLOCK IoStatus , struct _DEVICE_OBJECT * DeviceObject ) ; #line 13078 typedef BOOLEAN ( * PFAST_IO_QUERY_STANDARD_INFO )(struct _FILE_OBJECT * FileObject , BOOLEAN Wait , PFILE_STANDARD_INFORMATION Buffer , PIO_STATUS_BLOCK IoStatus , struct _DEVICE_OBJECT * DeviceObject ) ; #line 13092 typedef BOOLEAN ( * PFAST_IO_LOCK )(struct _FILE_OBJECT * FileObject , PLARGE_INTEGER FileOffset , PLARGE_INTEGER Length , PEPROCESS ProcessId , ULONG Key , BOOLEAN FailImmediately , BOOLEAN ExclusiveLock , PIO_STATUS_BLOCK IoStatus , struct _DEVICE_OBJECT * DeviceObject ) ; #line 13106 typedef BOOLEAN ( * PFAST_IO_UNLOCK_SINGLE )(struct _FILE_OBJECT * FileObject , PLARGE_INTEGER FileOffset , PLARGE_INTEGER Length , PEPROCESS ProcessId , ULONG Key , PIO_STATUS_BLOCK IoStatus , struct _DEVICE_OBJECT * DeviceObject ) ; #line 13118 typedef BOOLEAN ( * PFAST_IO_UNLOCK_ALL )(struct _FILE_OBJECT * FileObject , PEPROCESS ProcessId , PIO_STATUS_BLOCK IoStatus , struct _DEVICE_OBJECT * DeviceObject ) ; #line 13127 typedef BOOLEAN ( * PFAST_IO_UNLOCK_ALL_BY_KEY )(struct _FILE_OBJECT * FileObject , PVOID ProcessId , ULONG Key , PIO_STATUS_BLOCK IoStatus , struct _DEVICE_OBJECT * DeviceObject ) ; #line 13141 typedef BOOLEAN ( * PFAST_IO_DEVICE_CONTROL )(struct _FILE_OBJECT * FileObject , BOOLEAN Wait , PVOID InputBuffer , ULONG InputBufferLength , PVOID OutputBuffer , ULONG OutputBufferLength , ULONG IoControlCode , PIO_STATUS_BLOCK IoStatus , struct _DEVICE_OBJECT * DeviceObject ) ; #line 13161 typedef void ( * PFAST_IO_ACQUIRE_FILE )(struct _FILE_OBJECT * FileObject ) ; #line 13167 typedef void ( * PFAST_IO_RELEASE_FILE )(struct _FILE_OBJECT * FileObject ) ; #line 13179 typedef void ( * PFAST_IO_DETACH_DEVICE )(struct _DEVICE_OBJECT * SourceDevice , struct _DEVICE_OBJECT * TargetDevice ) ; #line 13193 typedef BOOLEAN ( * PFAST_IO_QUERY_NETWORK_OPEN_INFO )(struct _FILE_OBJECT * FileObject , BOOLEAN Wait , struct _FILE_NETWORK_OPEN_INFORMATION * Buffer , struct _IO_STATUS_BLOCK * IoStatus , struct _DEVICE_OBJECT * DeviceObject ) ; #line 13207 typedef BOOLEAN ( * PFAST_IO_MDL_READ )(struct _FILE_OBJECT * FileObject , PLARGE_INTEGER FileOffset , ULONG Length , ULONG LockKey , PMDL * MdlChain , PIO_STATUS_BLOCK IoStatus , struct _DEVICE_OBJECT * DeviceObject ) ; #line 13219 typedef BOOLEAN ( * PFAST_IO_MDL_READ_COMPLETE )(struct _FILE_OBJECT * FileObject , PMDL MdlChain , struct _DEVICE_OBJECT * DeviceObject ) ; #line 13227 typedef BOOLEAN ( * PFAST_IO_PREPARE_MDL_WRITE )(struct _FILE_OBJECT * FileObject , PLARGE_INTEGER FileOffset , ULONG Length , ULONG LockKey , PMDL * MdlChain , PIO_STATUS_BLOCK IoStatus , struct _DEVICE_OBJECT * DeviceObject ) ; #line 13239 typedef BOOLEAN ( * PFAST_IO_MDL_WRITE_COMPLETE )(struct _FILE_OBJECT * FileObject , PLARGE_INTEGER FileOffset , PMDL MdlChain , struct _DEVICE_OBJECT * DeviceObject ) ; #line 13253 typedef NTSTATUS ( * PFAST_IO_ACQUIRE_FOR_MOD_WRITE )(struct _FILE_OBJECT * FileObject , PLARGE_INTEGER EndingOffset , struct _ERESOURCE * * ResourceToRelease , struct _DEVICE_OBJECT * DeviceObject ) ; #line 13262 typedef NTSTATUS ( * PFAST_IO_RELEASE_FOR_MOD_WRITE )(struct _FILE_OBJECT * FileObject , struct _ERESOURCE * ResourceToRelease , struct _DEVICE_OBJECT * DeviceObject ) ; #line 13275 typedef NTSTATUS ( * PFAST_IO_ACQUIRE_FOR_CCFLUSH )(struct _FILE_OBJECT * FileObject , struct _DEVICE_OBJECT * DeviceObject ) ; #line 13282 typedef NTSTATUS ( * PFAST_IO_RELEASE_FOR_CCFLUSH )(struct _FILE_OBJECT * FileObject , struct _DEVICE_OBJECT * DeviceObject ) ; #line 13289 typedef BOOLEAN ( * PFAST_IO_READ_COMPRESSED )(struct _FILE_OBJECT * FileObject , PLARGE_INTEGER FileOffset , ULONG Length , ULONG LockKey , PVOID Buffer , PMDL * MdlChain , PIO_STATUS_BLOCK IoStatus , struct _COMPRESSED_DATA_INFO * CompressedDataInfo , ULONG CompressedDataInfoLength , struct _DEVICE_OBJECT * DeviceObject ) ; #line 13304 typedef BOOLEAN ( * PFAST_IO_WRITE_COMPRESSED )(struct _FILE_OBJECT * FileObject , PLARGE_INTEGER FileOffset , ULONG Length , ULONG LockKey , PVOID Buffer , PMDL * MdlChain , PIO_STATUS_BLOCK IoStatus , struct _COMPRESSED_DATA_INFO * CompressedDataInfo , ULONG CompressedDataInfoLength , struct _DEVICE_OBJECT * DeviceObject ) ; #line 13319 typedef BOOLEAN ( * PFAST_IO_MDL_READ_COMPLETE_COMPRESSED )(struct _FILE_OBJECT * FileObject , PMDL MdlChain , struct _DEVICE_OBJECT * DeviceObject ) ; #line 13327 typedef BOOLEAN ( * PFAST_IO_MDL_WRITE_COMPLETE_COMPRESSED )(struct _FILE_OBJECT * FileObject , PLARGE_INTEGER FileOffset , PMDL MdlChain , struct _DEVICE_OBJECT * DeviceObject ) ; #line 13336 typedef BOOLEAN ( * PFAST_IO_QUERY_OPEN )(struct _IRP * Irp , PFILE_NETWORK_OPEN_INFORMATION NetworkInformation , struct _DEVICE_OBJECT * DeviceObject ) ; #line 13350 typedef struct _FAST_IO_DISPATCH { ULONG SizeOfFastIoDispatch ; PFAST_IO_CHECK_IF_POSSIBLE FastIoCheckIfPossible ; PFAST_IO_READ FastIoRead ; PFAST_IO_WRITE FastIoWrite ; PFAST_IO_QUERY_BASIC_INFO FastIoQueryBasicInfo ; PFAST_IO_QUERY_STANDARD_INFO FastIoQueryStandardInfo ; PFAST_IO_LOCK FastIoLock ; PFAST_IO_UNLOCK_SINGLE FastIoUnlockSingle ; PFAST_IO_UNLOCK_ALL FastIoUnlockAll ; PFAST_IO_UNLOCK_ALL_BY_KEY FastIoUnlockAllByKey ; PFAST_IO_DEVICE_CONTROL FastIoDeviceControl ; PFAST_IO_ACQUIRE_FILE AcquireFileForNtCreateSection ; PFAST_IO_RELEASE_FILE ReleaseFileForNtCreateSection ; PFAST_IO_DETACH_DEVICE FastIoDetachDevice ; PFAST_IO_QUERY_NETWORK_OPEN_INFO FastIoQueryNetworkOpenInfo ; PFAST_IO_ACQUIRE_FOR_MOD_WRITE AcquireForModWrite ; PFAST_IO_MDL_READ MdlRead ; PFAST_IO_MDL_READ_COMPLETE MdlReadComplete ; PFAST_IO_PREPARE_MDL_WRITE PrepareMdlWrite ; PFAST_IO_MDL_WRITE_COMPLETE MdlWriteComplete ; PFAST_IO_READ_COMPRESSED FastIoReadCompressed ; PFAST_IO_WRITE_COMPRESSED FastIoWriteCompressed ; PFAST_IO_MDL_READ_COMPLETE_COMPRESSED MdlReadCompleteCompressed ; PFAST_IO_MDL_WRITE_COMPLETE_COMPRESSED MdlWriteCompleteCompressed ; PFAST_IO_QUERY_OPEN FastIoQueryOpen ; PFAST_IO_RELEASE_FOR_MOD_WRITE ReleaseForModWrite ; PFAST_IO_ACQUIRE_FOR_CCFLUSH AcquireForCcFlush ; PFAST_IO_RELEASE_FOR_CCFLUSH ReleaseForCcFlush ; } FAST_IO_DISPATCH , * PFAST_IO_DISPATCH ; #line 13386 typedef enum _IO_ALLOCATION_ACTION { KeepObject = 1, DeallocateObject, DeallocateObjectKeepRegisters } IO_ALLOCATION_ACTION , * PIO_ALLOCATION_ACTION ; #line 13396 typedef IO_ALLOCATION_ACTION ( * PDRIVER_CONTROL )(struct _DEVICE_OBJECT * DeviceObject , struct _IRP * Irp , PVOID MapRegisterBase , PVOID Context ) ; #line 13410 typedef struct _IO_SECURITY_CONTEXT { PSECURITY_QUALITY_OF_SERVICE SecurityQos ; PACCESS_STATE AccessState ; ACCESS_MASK DesiredAccess ; ULONG FullCreateOptions ; } IO_SECURITY_CONTEXT , * PIO_SECURITY_CONTEXT ; #line 13434 typedef struct _VPB { CSHORT Type ; CSHORT Size ; USHORT Flags ; USHORT VolumeLabelLength ; struct _DEVICE_OBJECT * DeviceObject ; struct _DEVICE_OBJECT * RealDevice ; ULONG SerialNumber ; ULONG ReferenceCount ; WCHAR VolumeLabel[32 * sizeof(WCHAR ) / sizeof(WCHAR )] ; } VPB , * PVPB ; #line 13482 typedef struct _ADAPTER_OBJECT * PADAPTER_OBJECT ; #line 13491 typedef struct _WAIT_CONTEXT_BLOCK { KDEVICE_QUEUE_ENTRY WaitQueueEntry ; PDRIVER_CONTROL DeviceRoutine ; PVOID DeviceContext ; ULONG NumberOfMapRegisters ; PVOID DeviceObject ; PVOID CurrentIrp ; PKDPC BufferChainingDpc ; } WAIT_CONTEXT_BLOCK , * PWAIT_CONTEXT_BLOCK ; #line 13503 typedef struct _CONTROLLER_OBJECT { CSHORT Type ; CSHORT Size ; PVOID ControllerExtension ; KDEVICE_QUEUE DeviceWaitQueue ; ULONG Spare1 ; LARGE_INTEGER Spare2 ; } CONTROLLER_OBJECT , * PCONTROLLER_OBJECT ; #line 13537 typedef struct _DEVICE_OBJECT { CSHORT Type ; USHORT Size ; LONG ReferenceCount ; struct _DRIVER_OBJECT * DriverObject ; struct _DEVICE_OBJECT * NextDevice ; struct _DEVICE_OBJECT * AttachedDevice ; struct _IRP * CurrentIrp ; PIO_TIMER Timer ; ULONG Flags ; ULONG Characteristics ; PVPB Vpb ; PVOID DeviceExtension ; ULONG DeviceType ; CCHAR StackSize ; union { LIST_ENTRY ListEntry ; WAIT_CONTEXT_BLOCK Wcb ; } Queue ; ULONG AlignmentRequirement ; KDEVICE_QUEUE DeviceQueue ; KDPC Dpc ; ULONG ActiveThreadCount ; PSECURITY_DESCRIPTOR SecurityDescriptor ; KEVENT DeviceLock ; USHORT SectorSize ; USHORT Spare1 ; struct _DEVOBJ_EXTENSION * DeviceObjectExtension ; PVOID Reserved ; } DEVICE_OBJECT ; #line 13575 typedef struct _DEVICE_OBJECT * PDEVICE_OBJECT ; #line 13578 struct _DEVICE_OBJECT_POWER_EXTENSION ; typedef struct _DEVOBJ_EXTENSION { CSHORT Type ; USHORT Size ; PDEVICE_OBJECT DeviceObject ; } DEVOBJ_EXTENSION , * PDEVOBJ_EXTENSION ; #line 13608 typedef struct _DRIVER_EXTENSION { struct _DRIVER_OBJECT * DriverObject ; PDRIVER_ADD_DEVICE AddDevice ; ULONG Count ; UNICODE_STRING ServiceKeyName ; } DRIVER_EXTENSION , * PDRIVER_EXTENSION ; #line 13645 typedef struct _DRIVER_OBJECT { CSHORT Type ; CSHORT Size ; PDEVICE_OBJECT DeviceObject ; ULONG Flags ; PVOID DriverStart ; ULONG DriverSize ; PVOID DriverSection ; PDRIVER_EXTENSION DriverExtension ; UNICODE_STRING DriverName ; PUNICODE_STRING HardwareDatabase ; PFAST_IO_DISPATCH FastIoDispatch ; PDRIVER_INITIALIZE DriverInit ; PDRIVER_STARTIO DriverStartIo ; PDRIVER_UNLOAD DriverUnload ; PDRIVER_DISPATCH MajorFunction[0x1b + 1] ; } DRIVER_OBJECT ; #line 13706 typedef struct _DRIVER_OBJECT * PDRIVER_OBJECT ; #line 13715 typedef struct _SECTION_OBJECT_POINTERS { PVOID DataSectionObject ; PVOID SharedCacheMap ; PVOID ImageSectionObject ; } SECTION_OBJECT_POINTERS ; #line 13720 typedef SECTION_OBJECT_POINTERS * PSECTION_OBJECT_POINTERS ; #line 13726 typedef struct _IO_COMPLETION_CONTEXT { PVOID Port ; PVOID Key ; } IO_COMPLETION_CONTEXT , * PIO_COMPLETION_CONTEXT ; #line 13759 typedef struct _FILE_OBJECT { CSHORT Type ; CSHORT Size ; PDEVICE_OBJECT DeviceObject ; PVPB Vpb ; PVOID FsContext ; PVOID FsContext2 ; PSECTION_OBJECT_POINTERS SectionObjectPointer ; PVOID PrivateCacheMap ; NTSTATUS FinalStatus ; struct _FILE_OBJECT * RelatedFileObject ; BOOLEAN LockOperation ; BOOLEAN DeletePending ; BOOLEAN ReadAccess ; BOOLEAN WriteAccess ; BOOLEAN DeleteAccess ; BOOLEAN SharedRead ; BOOLEAN SharedWrite ; BOOLEAN SharedDelete ; ULONG Flags ; UNICODE_STRING FileName ; LARGE_INTEGER CurrentByteOffset ; ULONG Waiters ; ULONG Busy ; PVOID LastLock ; KEVENT Lock ; KEVENT Event ; PIO_COMPLETION_CONTEXT CompletionContext ; } FILE_OBJECT ; #line 13788 typedef struct _FILE_OBJECT * PFILE_OBJECT ; #line 13828 typedef struct _IRP { CSHORT Type ; USHORT Size ; PMDL MdlAddress ; ULONG Flags ; union { struct _IRP * MasterIrp ; LONG IrpCount ; PVOID SystemBuffer ; } AssociatedIrp ; LIST_ENTRY ThreadListEntry ; IO_STATUS_BLOCK IoStatus ; KPROCESSOR_MODE RequestorMode ; BOOLEAN PendingReturned ; CHAR StackCount ; CHAR CurrentLocation ; BOOLEAN Cancel ; KIRQL CancelIrql ; CCHAR ApcEnvironment ; UCHAR AllocationFlags ; PIO_STATUS_BLOCK UserIosb ; PKEVENT UserEvent ; union { struct { PIO_APC_ROUTINE UserApcRoutine ; PVOID UserApcContext ; } AsynchronousParameters ; LARGE_INTEGER AllocationSize ; } Overlay ; PDRIVER_CANCEL CancelRoutine ; PVOID UserBuffer ; union { struct { union { KDEVICE_QUEUE_ENTRY DeviceQueueEntry ; struct { PVOID DriverContext[4] ; } ; } ; PETHREAD Thread ; PCHAR AuxiliaryBuffer ; struct { LIST_ENTRY ListEntry ; union { struct _IO_STACK_LOCATION * CurrentStackLocation ; ULONG PacketType ; } ; } ; PFILE_OBJECT OriginalFileObject ; } Overlay ; KAPC Apc ; PVOID CompletionKey ; } Tail ; } IRP , * PIRP ; #line 14078 typedef NTSTATUS ( * PIO_COMPLETION_ROUTINE )(PDEVICE_OBJECT DeviceObject , PIRP Irp , PVOID Context ) ; #line 14163 typedef enum _DEVICE_RELATION_TYPE { BusRelations, EjectionRelations, PowerRelations, RemovalRelations, TargetDeviceRelation } DEVICE_RELATION_TYPE , * PDEVICE_RELATION_TYPE ; typedef struct _DEVICE_RELATIONS { ULONG Count ; PDEVICE_OBJECT Objects[1] ; } DEVICE_RELATIONS , * PDEVICE_RELATIONS ; typedef enum _DEVICE_USAGE_NOTIFICATION_TYPE { DeviceUsageTypeUndefined, DeviceUsageTypePaging, DeviceUsageTypeHibernation, DeviceUsageTypeDumpFile } DEVICE_USAGE_NOTIFICATION_TYPE ; #line 14185 typedef struct _INTERFACE { USHORT Size ; USHORT Version ; PVOID Context ; PINTERFACE_REFERENCE InterfaceReference ; PINTERFACE_DEREFERENCE InterfaceDereference ; } INTERFACE , * PINTERFACE ; #line 14196 typedef struct _DEVICE_CAPABILITIES { USHORT Size ; USHORT Version ; ULONG DeviceD1 : 1; ULONG DeviceD2 : 1; ULONG LockSupported : 1; ULONG EjectSupported : 1; ULONG Removable : 1; ULONG DockDevice : 1; ULONG UniqueID : 1; ULONG SilentInstall : 1; ULONG RawDeviceOK : 1; ULONG SurpriseRemovalOK : 1; ULONG WakeFromD0 : 1; ULONG WakeFromD1 : 1; ULONG WakeFromD2 : 1; ULONG WakeFromD3 : 1; ULONG HardwareDisabled : 1; ULONG NonDynamic : 1; ULONG WarmEjectSupported : 1; ULONG Reserved : 15; ULONG Address ; ULONG UINumber ; DEVICE_POWER_STATE DeviceState[PowerSystemMaximum] ; SYSTEM_POWER_STATE SystemWake ; DEVICE_POWER_STATE DeviceWake ; ULONG D1Latency ; ULONG D2Latency ; ULONG D3Latency ; } DEVICE_CAPABILITIES , * PDEVICE_CAPABILITIES ; #line 14229 typedef struct _POWER_SEQUENCE { ULONG SequenceD1 ; ULONG SequenceD2 ; ULONG SequenceD3 ; } POWER_SEQUENCE , * PPOWER_SEQUENCE ; typedef enum { BusQueryDeviceID = 0, BusQueryHardwareIDs = 1, BusQueryCompatibleIDs = 2, BusQueryInstanceID = 3, BusQueryDeviceSerialNumber = 4 } BUS_QUERY_ID_TYPE , * PBUS_QUERY_ID_TYPE ; typedef ULONG PNP_DEVICE_STATE , * PPNP_DEVICE_STATE ; #line 14252 typedef enum { DeviceTextDescription = 0, DeviceTextLocationInformation = 1 } DEVICE_TEXT_TYPE , * PDEVICE_TEXT_TYPE ; #line 24 "C:/NTDDK/inc/pshpack4.h" #pragma warning(disable:4103) #pragma pack(push, 4) #line 14271 "C:/NTDDK/inc/ddk/ntddk.h" typedef struct _IO_STACK_LOCATION { UCHAR MajorFunction ; UCHAR MinorFunction ; UCHAR Flags ; UCHAR Control ; union { struct { PIO_SECURITY_CONTEXT SecurityContext ; ULONG Options ; USHORT FileAttributes ; USHORT ShareAccess ; ULONG EaLength ; } Create ; struct { ULONG Length ; ULONG Key ; LARGE_INTEGER ByteOffset ; } Read ; struct { ULONG Length ; ULONG Key ; LARGE_INTEGER ByteOffset ; } Write ; struct { ULONG Length ; FILE_INFORMATION_CLASS FileInformationClass ; } QueryFile ; struct { ULONG Length ; FILE_INFORMATION_CLASS FileInformationClass ; PFILE_OBJECT FileObject ; union { struct { BOOLEAN ReplaceIfExists ; BOOLEAN AdvanceOnly ; } ; ULONG ClusterCount ; HANDLE DeleteHandle ; } ; } SetFile ; struct { ULONG Length ; FS_INFORMATION_CLASS FsInformationClass ; } QueryVolume ; struct { ULONG OutputBufferLength ; ULONG InputBufferLength ; ULONG IoControlCode ; PVOID Type3InputBuffer ; } DeviceIoControl ; struct { SECURITY_INFORMATION SecurityInformation ; ULONG Length ; } QuerySecurity ; struct { SECURITY_INFORMATION SecurityInformation ; PSECURITY_DESCRIPTOR SecurityDescriptor ; } SetSecurity ; struct { PVPB Vpb ; PDEVICE_OBJECT DeviceObject ; } MountVolume ; struct { PVPB Vpb ; PDEVICE_OBJECT DeviceObject ; } VerifyVolume ; struct { struct _SCSI_REQUEST_BLOCK * Srb ; } Scsi ; struct { DEVICE_RELATION_TYPE Type ; } QueryDeviceRelations ; struct { const GUID * InterfaceType ; USHORT Size ; USHORT Version ; PINTERFACE Interface ; PVOID InterfaceSpecificData ; } QueryInterface ; struct { PDEVICE_CAPABILITIES Capabilities ; } DeviceCapabilities ; struct { PIO_RESOURCE_REQUIREMENTS_LIST IoResourceRequirementList ; } FilterResourceRequirements ; struct { ULONG WhichSpace ; PVOID Buffer ; ULONG Offset ; ULONG Length ; } ReadWriteConfig ; struct { BOOLEAN Lock ; } SetLock ; struct { BUS_QUERY_ID_TYPE IdType ; } QueryId ; struct { DEVICE_TEXT_TYPE DeviceTextType ; LCID LocaleId ; } QueryDeviceText ; struct { BOOLEAN InPath ; BOOLEAN Reserved[3] ; DEVICE_USAGE_NOTIFICATION_TYPE Type ; } UsageNotification ; struct { SYSTEM_POWER_STATE PowerState ; } WaitWake ; struct { PPOWER_SEQUENCE PowerSequence ; } PowerSequence ; struct { ULONG SystemContext ; POWER_STATE_TYPE Type ; POWER_STATE State ; POWER_ACTION ShutdownType ; } Power ; struct { PCM_RESOURCE_LIST AllocatedResources ; PCM_RESOURCE_LIST AllocatedResourcesTranslated ; } StartDevice ; struct { ULONG_PTR ProviderId ; PVOID DataPath ; ULONG BufferSize ; PVOID Buffer ; } WMI ; struct { PVOID Argument1 ; PVOID Argument2 ; PVOID Argument3 ; PVOID Argument4 ; } Others ; } Parameters ; PDEVICE_OBJECT DeviceObject ; PFILE_OBJECT FileObject ; PIO_COMPLETION_ROUTINE CompletionRoutine ; PVOID Context ; } IO_STACK_LOCATION , * PIO_STACK_LOCATION ; #line 27 "C:/NTDDK/inc/poppack.h" #pragma warning(disable:4103) #pragma pack(pop) #line 14615 "C:/NTDDK/inc/ddk/ntddk.h" typedef struct _SHARE_ACCESS { ULONG OpenCount ; ULONG Readers ; ULONG Writers ; ULONG Deleters ; ULONG SharedRead ; ULONG SharedWrite ; ULONG SharedDelete ; } SHARE_ACCESS , * PSHARE_ACCESS ; #line 14635 typedef struct _CONFIGURATION_INFORMATION { ULONG DiskCount ; ULONG FloppyCount ; ULONG CdRomCount ; ULONG TapeCount ; ULONG ScsiPortCount ; ULONG SerialCount ; ULONG ParallelCount ; BOOLEAN AtDiskPrimaryAddressClaimed ; BOOLEAN AtDiskSecondaryAddressClaimed ; ULONG Version ; ULONG MediumChangerCount ; } CONFIGURATION_INFORMATION , * PCONFIGURATION_INFORMATION ; #line 14681 __declspec(dllimport) void IoAcquireCancelSpinLock(PKIRQL Irql ) ; #line 14688 __declspec(dllimport) NTSTATUS IoAllocateAdapterChannel(PADAPTER_OBJECT AdapterObject , PDEVICE_OBJECT DeviceObject , ULONG NumberOfMapRegisters , PDRIVER_CONTROL ExecutionRoutine , PVOID Context ) ; #line 14698 __declspec(dllimport) void IoAllocateController(PCONTROLLER_OBJECT ControllerObject , PDEVICE_OBJECT DeviceObject , PDRIVER_CONTROL ExecutionRoutine , PVOID Context ) ; #line 14709 __declspec(dllimport) NTSTATUS IoAllocateDriverObjectExtension(PDRIVER_OBJECT DriverObject , PVOID ClientIdentificationAddress , ULONG DriverObjectExtensionSize , PVOID * DriverObjectExtension ) ; #line 14720 __declspec(dllimport) PVOID IoAllocateErrorLogEntry(PVOID IoObject , UCHAR EntrySize ) ; #line 14727 __declspec(dllimport) PIRP IoAllocateIrp(CCHAR StackSize , BOOLEAN ChargeQuota ) ; #line 14734 __declspec(dllimport) PMDL IoAllocateMdl(PVOID VirtualAddress , ULONG Length , BOOLEAN SecondaryBuffer , BOOLEAN ChargeQuota , PIRP Irp ) ; #line 14776 __declspec(dllimport) NTSTATUS IoAssignResources(PUNICODE_STRING RegistryPath , PUNICODE_STRING DriverClassName , PDRIVER_OBJECT DriverObject , PDEVICE_OBJECT DeviceObject , PIO_RESOURCE_REQUIREMENTS_LIST RequestedResources , PCM_RESOURCE_LIST * AllocatedResources ) ; #line 14788 __declspec(dllimport) NTSTATUS IoAttachDevice(PDEVICE_OBJECT SourceDevice , PUNICODE_STRING TargetDevice , PDEVICE_OBJECT * AttachedDevice ) ; #line 14798 __declspec(dllimport) NTSTATUS IoAttachDeviceByPointer(PDEVICE_OBJECT SourceDevice , PDEVICE_OBJECT TargetDevice ) ; #line 14807 __declspec(dllimport) PDEVICE_OBJECT IoAttachDeviceToDeviceStack(PDEVICE_OBJECT SourceDevice , PDEVICE_OBJECT TargetDevice ) ; #line 14814 __declspec(dllimport) PIRP IoBuildAsynchronousFsdRequest(ULONG MajorFunction , PDEVICE_OBJECT DeviceObject , PVOID Buffer , ULONG Length , PLARGE_INTEGER StartingOffset , PIO_STATUS_BLOCK IoStatusBlock ) ; #line 14825 __declspec(dllimport) PIRP IoBuildDeviceIoControlRequest(ULONG IoControlCode , PDEVICE_OBJECT DeviceObject , PVOID InputBuffer , ULONG InputBufferLength , PVOID OutputBuffer , ULONG OutputBufferLength , BOOLEAN InternalDeviceIoControl , PKEVENT Event , PIO_STATUS_BLOCK IoStatusBlock ) ; #line 14839 __declspec(dllimport) void IoBuildPartialMdl(PMDL SourceMdl , PMDL TargetMdl , PVOID VirtualAddress , ULONG Length ) ; #line 14848 typedef struct _BOOTDISK_INFORMATION { LONGLONG BootPartitionOffset ; LONGLONG SystemPartitionOffset ; ULONG BootDeviceSignature ; ULONG SystemDeviceSignature ; } BOOTDISK_INFORMATION , * PBOOTDISK_INFORMATION ; __declspec(dllimport) NTSTATUS IoGetBootDiskInformation(PBOOTDISK_INFORMATION BootDiskInformation , ULONG Size ) ; #line 14863 __declspec(dllimport) PIRP IoBuildSynchronousFsdRequest(ULONG MajorFunction , PDEVICE_OBJECT DeviceObject , PVOID Buffer , ULONG Length , PLARGE_INTEGER StartingOffset , PKEVENT Event , PIO_STATUS_BLOCK IoStatusBlock ) ; #line 14875 __declspec(dllimport) NTSTATUS _fastcall IofCallDriver(PDEVICE_OBJECT DeviceObject , PIRP Irp ) ; #line 14886 __declspec(dllimport) BOOLEAN IoCancelIrp(PIRP Irp ) ; #line 14893 __declspec(dllimport) NTSTATUS IoCheckShareAccess(ACCESS_MASK DesiredAccess , ULONG DesiredShareAccess , PFILE_OBJECT FileObject , PSHARE_ACCESS ShareAccess , BOOLEAN Update ) ; #line 14903 __declspec(dllimport) void _fastcall IofCompleteRequest(PIRP Irp , CCHAR PriorityBoost ) ; #line 14916 __declspec(dllimport) NTSTATUS IoConnectInterrupt(PKINTERRUPT * InterruptObject , PKSERVICE_ROUTINE ServiceRoutine , PVOID ServiceContext , PKSPIN_LOCK SpinLock , ULONG Vector , KIRQL Irql , KIRQL SynchronizeIrql , KINTERRUPT_MODE InterruptMode , BOOLEAN ShareVector , KAFFINITY ProcessorEnableMask , BOOLEAN FloatingSave ) ; #line 14934 __declspec(dllimport) PCONTROLLER_OBJECT IoCreateController(ULONG Size ) ; #line 14942 __declspec(dllimport) NTSTATUS IoCreateDevice(PDRIVER_OBJECT DriverObject , ULONG DeviceExtensionSize , PUNICODE_STRING DeviceName , ULONG DeviceType , ULONG DeviceCharacteristics , BOOLEAN Exclusive , PDEVICE_OBJECT * DeviceObject ) ; #line 14957 __declspec(dllimport) BOOLEAN IoIsWdmVersionAvailable(UCHAR MajorVersion , UCHAR MinorVersion ) ; #line 14966 __declspec(dllimport) NTSTATUS IoCreateFile(PHANDLE FileHandle , ACCESS_MASK DesiredAccess , POBJECT_ATTRIBUTES ObjectAttributes , PIO_STATUS_BLOCK IoStatusBlock , PLARGE_INTEGER AllocationSize , ULONG FileAttributes , ULONG ShareAccess , ULONG Disposition , ULONG CreateOptions , PVOID EaBuffer , ULONG EaLength , CREATE_FILE_TYPE CreateFileType , PVOID ExtraCreateParameters , ULONG Options ) ; #line 14986 __declspec(dllimport) PKEVENT IoCreateNotificationEvent(PUNICODE_STRING EventName , PHANDLE EventHandle ) ; #line 14993 __declspec(dllimport) NTSTATUS IoCreateSymbolicLink(PUNICODE_STRING SymbolicLinkName , PUNICODE_STRING DeviceName ) ; #line 15002 __declspec(dllimport) PKEVENT IoCreateSynchronizationEvent(PUNICODE_STRING EventName , PHANDLE EventHandle ) ; #line 15011 __declspec(dllimport) NTSTATUS IoCreateUnprotectedSymbolicLink(PUNICODE_STRING SymbolicLinkName , PUNICODE_STRING DeviceName ) ; #line 15049 __declspec(dllimport) void IoDeleteController(PCONTROLLER_OBJECT ControllerObject ) ; #line 15057 __declspec(dllimport) void IoDeleteDevice(PDEVICE_OBJECT DeviceObject ) ; #line 15063 __declspec(dllimport) NTSTATUS IoDeleteSymbolicLink(PUNICODE_STRING SymbolicLinkName ) ; #line 15069 __declspec(dllimport) void IoDetachDevice(PDEVICE_OBJECT TargetDevice ) ; #line 15077 __declspec(dllimport) void IoDisconnectInterrupt(PKINTERRUPT InterruptObject ) ; #line 15084 __declspec(dllimport) void IoFreeController(PCONTROLLER_OBJECT ControllerObject ) ; #line 15092 __declspec(dllimport) void IoFreeIrp(PIRP Irp ) ; #line 15098 __declspec(dllimport) void IoFreeMdl(PMDL Mdl ) ; #line 15104 __declspec(dllimport) PDEVICE_OBJECT IoGetAttachedDeviceReference(PDEVICE_OBJECT DeviceObject ) ; #line 15110 __declspec(dllimport) PCONFIGURATION_INFORMATION IoGetConfigurationInformation(void ) ; #line 15141 __declspec(dllimport) PDEVICE_OBJECT IoGetDeviceToVerify(PETHREAD Thread ) ; #line 15149 __declspec(dllimport) PVOID IoGetDriverObjectExtension(PDRIVER_OBJECT DriverObject , PVOID ClientIdentificationAddress ) ; #line 15156 __declspec(dllimport) PEPROCESS IoGetCurrentProcess(void ) ; #line 15164 __declspec(dllimport) NTSTATUS IoGetDeviceObjectPointer(PUNICODE_STRING ObjectName , ACCESS_MASK DesiredAccess , PFILE_OBJECT * FileObject , PDEVICE_OBJECT * DeviceObject ) ; #line 15173 __declspec(dllimport) struct _DMA_ADAPTER * IoGetDmaAdapter(PDEVICE_OBJECT PhysicalDeviceObject , struct _DEVICE_DESCRIPTION * DeviceDescription , PULONG NumberOfMapRegisters ) ; #line 15183 __declspec(dllimport) PGENERIC_MAPPING IoGetFileObjectGenericMapping(void ) ; #line 15228 __declspec(dllimport) PVOID IoGetInitialStack(void ) ; #line 15234 __declspec(dllimport) void IoGetStackLimits(PULONG_PTR LowLimit , PULONG_PTR HighLimit ) ; #line 15246 __inline ULONG_PTR IoGetRemainingStackSize(void ) { #line 15252 ULONG_PTR Top ; ULONG_PTR Bottom ; #line 15255 IoGetStackLimits(& Bottom, & Top); return (ULONG_PTR )(& Top) - Bottom; } #line 15286 __declspec(dllimport) PDEVICE_OBJECT IoGetRelatedDeviceObject(PFILE_OBJECT FileObject ) ; #line 15326 __declspec(dllimport) void IoInitializeIrp(PIRP Irp , USHORT PacketSize , CCHAR StackSize ) ; #line 15334 __declspec(dllimport) NTSTATUS IoInitializeTimer(PDEVICE_OBJECT DeviceObject , PIO_TIMER_ROUTINE TimerRoutine , PVOID Context ) ; #line 15343 __declspec(dllimport) void IoReuseIrp(PIRP Irp , NTSTATUS Iostatus ) ; #line 15351 __declspec(dllimport) void IoCancelFileOpen(PDEVICE_OBJECT DeviceObject , PFILE_OBJECT FileObject ) ; #line 15390 __declspec(dllimport) PIRP IoMakeAssociatedIrp(PIRP Irp , CCHAR StackSize ) ; #line 15426 __declspec(dllimport) NTSTATUS IoQueryDeviceDescription(PINTERFACE_TYPE BusType , PULONG BusNumber , PCONFIGURATION_TYPE ControllerType , PULONG ControllerNumber , PCONFIGURATION_TYPE PeripheralType , PULONG PeripheralNumber , PIO_QUERY_DEVICE_ROUTINE CalloutRoutine , PVOID Context ) ; #line 15439 __declspec(dllimport) void IoRaiseHardError(PIRP Irp , PVPB Vpb , PDEVICE_OBJECT RealDeviceObject ) ; #line 15447 __declspec(dllimport) BOOLEAN IoRaiseInformationalHardError(NTSTATUS ErrorStatus , PUNICODE_STRING String , PKTHREAD Thread ) ; #line 15455 __declspec(dllimport) BOOLEAN IoSetThreadHardErrorMode(BOOLEAN EnableHardErrors ) ; #line 15461 __declspec(dllimport) void IoRegisterBootDriverReinitialization(PDRIVER_OBJECT DriverObject , PDRIVER_REINITIALIZE DriverReinitializationRoutine , PVOID Context ) ; #line 15469 __declspec(dllimport) void IoRegisterDriverReinitialization(PDRIVER_OBJECT DriverObject , PDRIVER_REINITIALIZE DriverReinitializationRoutine , PVOID Context ) ; #line 15478 __declspec(dllimport) NTSTATUS IoRegisterShutdownNotification(PDEVICE_OBJECT DeviceObject ) ; #line 15484 __declspec(dllimport) NTSTATUS IoRegisterLastChanceShutdownNotification(PDEVICE_OBJECT DeviceObject ) ; #line 15492 __declspec(dllimport) void IoReleaseCancelSpinLock(KIRQL Irql ) ; #line 15499 __declspec(dllimport) void IoRemoveShareAccess(PFILE_OBJECT FileObject , PSHARE_ACCESS ShareAccess ) ; #line 15507 __declspec(dllimport) NTSTATUS IoReportResourceUsage(PUNICODE_STRING DriverClassName , PDRIVER_OBJECT DriverObject , PCM_RESOURCE_LIST DriverList , ULONG DriverListSize , PDEVICE_OBJECT DeviceObject , PCM_RESOURCE_LIST DeviceList , ULONG DeviceListSize , BOOLEAN OverrideConflict , PBOOLEAN ConflictDetected ) ; #line 15641 __declspec(dllimport) void IoSetHardErrorOrVerifyDevice(PIRP Irp , PDEVICE_OBJECT DeviceObject ) ; #line 15743 __declspec(dllimport) void IoSetShareAccess(ACCESS_MASK DesiredAccess , ULONG DesiredShareAccess , PFILE_OBJECT FileObject , PSHARE_ACCESS ShareAccess ) ; #line 15754 typedef struct _IO_REMOVE_LOCK_TRACKING_BLOCK * PIO_REMOVE_LOCK_TRACKING_BLOCK ; #line 15756 typedef struct _IO_REMOVE_LOCK_COMMON_BLOCK { BOOLEAN Removed ; BOOLEAN Reserved[3] ; LONG IoCount ; KEVENT RemoveEvent ; } IO_REMOVE_LOCK_COMMON_BLOCK ; #line 15764 typedef struct _IO_REMOVE_LOCK_DBG_BLOCK { LONG Signature ; LONG HighWatermark ; LONGLONG MaxLockedTicks ; LONG AllocateTag ; LIST_ENTRY LockList ; KSPIN_LOCK Spin ; LONG LowMemoryCount ; ULONG Reserved1[4] ; PVOID Reserved2 ; PIO_REMOVE_LOCK_TRACKING_BLOCK Blocks ; } IO_REMOVE_LOCK_DBG_BLOCK ; typedef struct _IO_REMOVE_LOCK { IO_REMOVE_LOCK_COMMON_BLOCK Common ; } IO_REMOVE_LOCK , * PIO_REMOVE_LOCK ; #line 15787 __declspec(dllimport) void __stdcall IoInitializeRemoveLockEx(PIO_REMOVE_LOCK Lock , ULONG AllocateTag , ULONG MaxLockedMinutes , ULONG HighWatermark , ULONG RemlockSize ) ; #line 15808 __declspec(dllimport) NTSTATUS __stdcall IoAcquireRemoveLockEx(PIO_REMOVE_LOCK RemoveLock , PVOID Tag , PCSTR File , ULONG Line , ULONG RemlockSize ) ; #line 15857 __declspec(dllimport) void __stdcall IoReleaseRemoveLockEx(PIO_REMOVE_LOCK RemoveLock , PVOID Tag , ULONG RemlockSize ) ; #line 15893 __declspec(dllimport) void __stdcall IoReleaseRemoveLockAndWaitEx(PIO_REMOVE_LOCK RemoveLock , PVOID Tag , ULONG RemlockSize ) ; #line 15949 __declspec(dllimport) void IoStartNextPacket(PDEVICE_OBJECT DeviceObject , BOOLEAN Cancelable ) ; #line 15956 __declspec(dllimport) void IoStartNextPacketByKey(PDEVICE_OBJECT DeviceObject , BOOLEAN Cancelable , ULONG Key ) ; #line 15964 __declspec(dllimport) void IoStartPacket(PDEVICE_OBJECT DeviceObject , PIRP Irp , PULONG Key , PDRIVER_CANCEL CancelFunction ) ; #line 15975 __declspec(dllimport) void IoStartTimer(PDEVICE_OBJECT DeviceObject ) ; #line 15981 __declspec(dllimport) void IoStopTimer(PDEVICE_OBJECT DeviceObject ) ; #line 15988 __declspec(dllimport) void IoUnregisterShutdownNotification(PDEVICE_OBJECT DeviceObject ) ; #line 15996 __declspec(dllimport) void IoUpdateShareAccess(PFILE_OBJECT FileObject , PSHARE_ACCESS ShareAccess ) ; #line 16003 __declspec(dllimport) void IoWriteErrorLogEntry(PVOID ElEntry ) ; #line 16009 typedef struct _IO_WORKITEM * PIO_WORKITEM ; typedef void ( * PIO_WORKITEM_ROUTINE )(PDEVICE_OBJECT DeviceObject , PVOID Context ) ; #line 16018 PIO_WORKITEM IoAllocateWorkItem(PDEVICE_OBJECT DeviceObject ) ; #line 16023 void IoFreeWorkItem(PIO_WORKITEM IoWorkItem ) ; #line 16028 void IoQueueWorkItem(PIO_WORKITEM IoWorkItem , PIO_WORKITEM_ROUTINE WorkerRoutine , WORK_QUEUE_TYPE QueueType , PVOID Context ) ; #line 16040 __declspec(dllimport) NTSTATUS IoWMIRegistrationControl(PDEVICE_OBJECT DeviceObject , ULONG Action ) ; #line 16064 __declspec(dllimport) NTSTATUS IoWMIAllocateInstanceIds(GUID * Guid , ULONG InstanceCount , ULONG * FirstInstanceId ) ; #line 16072 __declspec(dllimport) NTSTATUS IoWMISuggestInstanceName(PDEVICE_OBJECT PhysicalDeviceObject , PUNICODE_STRING SymbolicLinkName , BOOLEAN CombineNames , PUNICODE_STRING SuggestedInstanceName ) ; #line 16081 __declspec(dllimport) NTSTATUS IoWMIWriteEvent(PVOID WnodeEventItem ) ; #line 16100 typedef enum { DevicePropertyDeviceDescription, DevicePropertyHardwareID, DevicePropertyCompatibleIDs, DevicePropertyBootConfiguration, DevicePropertyBootConfigurationTranslated, DevicePropertyClassName, DevicePropertyClassGuid, DevicePropertyDriverKeyName, DevicePropertyManufacturer, DevicePropertyFriendlyName, DevicePropertyLocationInformation, DevicePropertyPhysicalDeviceObjectName, DevicePropertyBusTypeGuid, DevicePropertyLegacyBusType, DevicePropertyBusNumber, DevicePropertyEnumeratorName, DevicePropertyAddress, DevicePropertyUINumber } DEVICE_REGISTRY_PROPERTY ; typedef BOOLEAN ( * PTRANSLATE_BUS_ADDRESS )(PVOID Context , PHYSICAL_ADDRESS BusAddress , ULONG Length , PULONG AddressSpace , PPHYSICAL_ADDRESS TranslatedAddress ) ; #line 16129 typedef struct _DMA_ADAPTER * ( * PGET_DMA_ADAPTER )(PVOID Context , struct _DEVICE_DESCRIPTION * DeviceDescriptor , PULONG NumberOfMapRegisters ) ; #line 16135 typedef ULONG ( * PGET_SET_DEVICE_DATA )(PVOID Context , ULONG DataType , PVOID Buffer , ULONG Offset , ULONG Length ) ; #line 16148 typedef struct _PNP_BUS_INFORMATION { GUID BusTypeGuid ; INTERFACE_TYPE LegacyBusType ; ULONG BusNumber ; } PNP_BUS_INFORMATION , * PPNP_BUS_INFORMATION ; #line 16162 typedef struct _LEGACY_BUS_INFORMATION { GUID BusTypeGuid ; INTERFACE_TYPE LegacyBusType ; ULONG BusNumber ; } LEGACY_BUS_INFORMATION , * PLEGACY_BUS_INFORMATION ; typedef struct _BUS_INTERFACE_STANDARD { USHORT Size ; USHORT Version ; PVOID Context ; PINTERFACE_REFERENCE InterfaceReference ; PINTERFACE_DEREFERENCE InterfaceDereference ; PTRANSLATE_BUS_ADDRESS TranslateBusAddress ; PGET_DMA_ADAPTER GetDmaAdapter ; PGET_SET_DEVICE_DATA SetBusData ; PGET_SET_DEVICE_DATA GetBusData ; } BUS_INTERFACE_STANDARD , * PBUS_INTERFACE_STANDARD ; #line 16190 typedef BOOLEAN ( * PGPE_SERVICE_ROUTINE )(PVOID , PVOID ) ; #line 16194 typedef NTSTATUS ( * PGPE_CONNECT_VECTOR )(PDEVICE_OBJECT , ULONG , KINTERRUPT_MODE , BOOLEAN , PGPE_SERVICE_ROUTINE , PVOID , PVOID ) ; #line 16203 typedef NTSTATUS ( * PGPE_DISCONNECT_VECTOR )(PVOID ) ; #line 16206 typedef NTSTATUS ( * PGPE_ENABLE_EVENT )(PDEVICE_OBJECT , PVOID ) ; #line 16210 typedef NTSTATUS ( * PGPE_DISABLE_EVENT )(PDEVICE_OBJECT , PVOID ) ; #line 16214 typedef NTSTATUS ( * PGPE_CLEAR_STATUS )(PDEVICE_OBJECT , PVOID ) ; #line 16218 typedef void ( * PDEVICE_NOTIFY_CALLBACK )(PVOID , ULONG ) ; #line 16222 typedef NTSTATUS ( * PREGISTER_FOR_DEVICE_NOTIFICATIONS )(PDEVICE_OBJECT , PDEVICE_NOTIFY_CALLBACK , PVOID ) ; #line 16227 typedef void ( * PUNREGISTER_FOR_DEVICE_NOTIFICATIONS )(PDEVICE_OBJECT , PDEVICE_NOTIFY_CALLBACK ) ; #line 16231 typedef struct _ACPI_INTERFACE_STANDARD { USHORT Size ; USHORT Version ; PVOID Context ; PINTERFACE_REFERENCE InterfaceReference ; PINTERFACE_DEREFERENCE InterfaceDereference ; PGPE_CONNECT_VECTOR GpeConnectVector ; PGPE_DISCONNECT_VECTOR GpeDisconnectVector ; PGPE_ENABLE_EVENT GpeEnableEvent ; PGPE_DISABLE_EVENT GpeDisableEvent ; PGPE_CLEAR_STATUS GpeClearStatus ; PREGISTER_FOR_DEVICE_NOTIFICATIONS RegisterForDeviceNotifications ; PUNREGISTER_FOR_DEVICE_NOTIFICATIONS UnregisterForDeviceNotifications ; } ACPI_INTERFACE_STANDARD , * PACPI_INTERFACE_STANDARD ; #line 16255 typedef enum _ACPI_REG_TYPE { PM1a_ENABLE, PM1b_ENABLE, PM1a_STATUS, PM1b_STATUS, PM1a_CONTROL, PM1b_CONTROL, GP_STATUS, GP_ENABLE, SMI_CMD, MaxRegType } ACPI_REG_TYPE , * PACPI_REG_TYPE ; typedef USHORT ( * PREAD_ACPI_REGISTER )(ACPI_REG_TYPE AcpiReg , ULONG Register ) ; #line 16272 typedef void ( * PWRITE_ACPI_REGISTER )(ACPI_REG_TYPE AcpiReg , ULONG Register , USHORT Value ) ; #line 16278 typedef struct ACPI_REGS_INTERFACE_STANDARD { USHORT Size ; USHORT Version ; PVOID Context ; PINTERFACE_REFERENCE InterfaceReference ; PINTERFACE_DEREFERENCE InterfaceDereference ; PREAD_ACPI_REGISTER ReadAcpiRegister ; PWRITE_ACPI_REGISTER WriteAcpiRegister ; } ACPI_REGS_INTERFACE_STANDARD , * PACPI_REGS_INTERFACE_STANDARD ; #line 16300 typedef struct { PVOID LinkNode ; ULONG StaticVector ; UCHAR Flags ; } ROUTING_TOKEN , * PROUTING_TOKEN ; #line 16314 typedef NTSTATUS ( * PGET_INTERRUPT_ROUTING )(PDEVICE_OBJECT Pdo , ULONG * Bus , ULONG * PciSlot , UCHAR * InterruptLine , UCHAR * InterruptPin , UCHAR * ClassCode , UCHAR * SubClassCode , PDEVICE_OBJECT * ParentPdo , ROUTING_TOKEN * RoutingToken , UCHAR * Flags ) ; #line 16329 typedef NTSTATUS ( * PSET_INTERRUPT_ROUTING_TOKEN )(PDEVICE_OBJECT Pdo , PROUTING_TOKEN RoutingToken ) ; #line 16336 typedef void ( * PUPDATE_INTERRUPT_LINE )(PDEVICE_OBJECT Pdo , UCHAR LineRegister ) ; #line 16343 typedef struct _INT_ROUTE_INTERFACE_STANDARD { USHORT Size ; USHORT Version ; PVOID Context ; PINTERFACE_REFERENCE InterfaceReference ; PINTERFACE_DEREFERENCE InterfaceDereference ; PGET_INTERRUPT_ROUTING GetInterruptRouting ; PSET_INTERRUPT_ROUTING_TOKEN SetInterruptRoutingToken ; PUPDATE_INTERRUPT_LINE UpdateInterruptLine ; } INT_ROUTE_INTERFACE_STANDARD , * PINT_ROUTE_INTERFACE_STANDARD ; #line 16366 typedef struct _IO_ASSIGNED_RESOURCES { ULONG Count ; PASSIGNED_RESOURCE AssignedResources[1] ; } IO_ASSIGNED_RESOURCES , * PIO_ASSIGNED_RESOURCES ; __declspec(dllimport) NTSTATUS IoGetAssignedResourcesForSuballocation(INTERFACE_TYPE InterfaceType , ULONG BusNumber , ULONG SlotNumber , PIO_RESOURCE_DESCRIPTOR ResourceDescriptor , PIO_ASSIGNED_RESOURCES * List ) ; #line 16381 __declspec(dllimport) NTSTATUS IoReportDetectedDevice(PDRIVER_OBJECT DriverObject , INTERFACE_TYPE LegacyBusType , ULONG BusNumber , ULONG SlotNumber , PCM_RESOURCE_LIST ResourceList , PIO_RESOURCE_REQUIREMENTS_LIST ResourceRequirements , BOOLEAN ResourceAssigned , PDEVICE_OBJECT * DeviceObject ) ; #line 16396 __declspec(dllimport) void IoInvalidateDeviceRelations(PDEVICE_OBJECT DeviceObject , DEVICE_RELATION_TYPE Type ) ; #line 16403 __declspec(dllimport) void IoRequestDeviceEject(PDEVICE_OBJECT PhysicalDeviceObject ) ; #line 16409 __declspec(dllimport) NTSTATUS IoGetDeviceProperty(PDEVICE_OBJECT DeviceObject , DEVICE_REGISTRY_PROPERTY DeviceProperty , ULONG BufferLength , PVOID PropertyBuffer , PULONG ResultLength ) ; #line 16427 __declspec(dllimport) NTSTATUS IoOpenDeviceRegistryKey(PDEVICE_OBJECT DeviceObject , ULONG DevInstKeyType , ACCESS_MASK DesiredAccess , PHANDLE DevInstRegKey ) ; #line 16436 __declspec(dllimport) NTSTATUS __stdcall IoRegisterDeviceInterface(PDEVICE_OBJECT PhysicalDeviceObject , const GUID * InterfaceClassGuid , PUNICODE_STRING ReferenceString , PUNICODE_STRING SymbolicLinkName ) ; #line 16446 __declspec(dllimport) NTSTATUS IoOpenDeviceInterfaceRegistryKey(PUNICODE_STRING SymbolicLinkName , ACCESS_MASK DesiredAccess , PHANDLE DeviceInterfaceKey ) ; #line 16456 __declspec(dllimport) NTSTATUS IoSetDeviceInterfaceState(PUNICODE_STRING SymbolicLinkName , BOOLEAN Enable ) ; #line 16465 __declspec(dllimport) NTSTATUS __stdcall IoGetDeviceInterfaces(const GUID * InterfaceClassGuid , PDEVICE_OBJECT PhysicalDeviceObject , ULONG Flags , PWSTR * SymbolicLinkList ) ; #line 16477 __declspec(dllimport) NTSTATUS __stdcall IoGetDeviceInterfaceAlias(PUNICODE_STRING SymbolicLinkName , const GUID * AliasInterfaceClassGuid , PUNICODE_STRING AliasSymbolicLinkName ) ; #line 16490 typedef enum _IO_NOTIFICATION_EVENT_CATEGORY { EventCategoryReserved, EventCategoryHardwareProfileChange, EventCategoryDeviceInterfaceChange, EventCategoryTargetDeviceChange } IO_NOTIFICATION_EVENT_CATEGORY ; #line 16504 typedef NTSTATUS ( * PDRIVER_NOTIFICATION_CALLBACK_ROUTINE )(PVOID NotificationStructure , PVOID Context ) ; #line 16512 __declspec(dllimport) NTSTATUS IoRegisterPlugPlayNotification(IO_NOTIFICATION_EVENT_CATEGORY EventCategory , ULONG EventCategoryFlags , PVOID EventCategoryData , PDRIVER_OBJECT DriverObject , PDRIVER_NOTIFICATION_CALLBACK_ROUTINE CallbackRoutine , PVOID Context , PVOID * NotificationEntry ) ; #line 16524 __declspec(dllimport) NTSTATUS IoUnregisterPlugPlayNotification(PVOID NotificationEntry ) ; #line 16530 __declspec(dllimport) NTSTATUS IoReportTargetDeviceChange(PDEVICE_OBJECT PhysicalDeviceObject , PVOID NotificationStructure ) ; #line 16537 typedef void ( * PDEVICE_CHANGE_COMPLETE_CALLBACK )(PVOID Context ) ; #line 16543 __declspec(dllimport) void IoInvalidateDeviceState(PDEVICE_OBJECT PhysicalDeviceObject ) ; #line 16559 __declspec(dllimport) NTSTATUS IoReportTargetDeviceChangeAsynchronous(PDEVICE_OBJECT PhysicalDeviceObject , PVOID NotificationStructure , PDEVICE_CHANGE_COMPLETE_CALLBACK Callback , PVOID Context ) ; #line 16573 typedef enum _ARBITER_ACTION { ArbiterActionTestAllocation, ArbiterActionRetestAllocation, ArbiterActionCommitAllocation, ArbiterActionRollbackAllocation, ArbiterActionQueryAllocatedResources, ArbiterActionWriteReservedResources, ArbiterActionQueryConflict, ArbiterActionQueryArbitrate, ArbiterActionAddReserved, ArbiterActionBootAllocation } ARBITER_ACTION , * PARBITER_ACTION ; typedef struct _ARBITER_CONFLICT_INFO { PDEVICE_OBJECT OwningObject ; ULONGLONG Start ; ULONGLONG End ; } ARBITER_CONFLICT_INFO , * PARBITER_CONFLICT_INFO ; #line 16608 typedef struct _ARBITER_PARAMETERS { union { struct { PLIST_ENTRY ArbitrationList ; ULONG AllocateFromCount ; PCM_PARTIAL_RESOURCE_DESCRIPTOR AllocateFrom ; } TestAllocation ; struct { PLIST_ENTRY ArbitrationList ; ULONG AllocateFromCount ; PCM_PARTIAL_RESOURCE_DESCRIPTOR AllocateFrom ; } RetestAllocation ; struct { PLIST_ENTRY ArbitrationList ; } BootAllocation ; struct { PCM_PARTIAL_RESOURCE_LIST * AllocatedResources ; } QueryAllocatedResources ; struct { PDEVICE_OBJECT PhysicalDeviceObject ; PIO_RESOURCE_DESCRIPTOR ConflictingResource ; PULONG ConflictCount ; PARBITER_CONFLICT_INFO * Conflicts ; } QueryConflict ; struct { PLIST_ENTRY ArbitrationList ; } QueryArbitrate ; struct { PDEVICE_OBJECT ReserveDevice ; } AddReserved ; } Parameters ; } ARBITER_PARAMETERS , * PARBITER_PARAMETERS ; #line 16719 typedef enum _ARBITER_REQUEST_SOURCE { ArbiterRequestUndefined = - 1, ArbiterRequestLegacyReported, ArbiterRequestHalReported, ArbiterRequestLegacyAssigned, ArbiterRequestPnpDetected, ArbiterRequestPnpEnumerated } ARBITER_REQUEST_SOURCE ; #line 16731 typedef enum _ARBITER_RESULT { ArbiterResultUndefined = - 1, ArbiterResultSuccess, ArbiterResultExternalConflict, ArbiterResultNullRequest } ARBITER_RESULT ; #line 16748 __declspec(dllimport) NTSTATUS IoReportResourceForDetection(PDRIVER_OBJECT DriverObject , PCM_RESOURCE_LIST DriverList , ULONG DriverListSize , PDEVICE_OBJECT DeviceObject , PCM_RESOURCE_LIST DeviceList , ULONG DeviceListSize , PBOOLEAN ConflictDetected ) ; #line 16761 typedef struct _ARBITER_LIST_ENTRY { LIST_ENTRY ListEntry ; ULONG AlternativeCount ; PIO_RESOURCE_DESCRIPTOR Alternatives ; PDEVICE_OBJECT PhysicalDeviceObject ; ARBITER_REQUEST_SOURCE RequestSource ; ULONG Flags ; LONG_PTR WorkSpace ; INTERFACE_TYPE InterfaceType ; ULONG SlotNumber ; ULONG BusNumber ; PCM_PARTIAL_RESOURCE_DESCRIPTOR Assignment ; PIO_RESOURCE_DESCRIPTOR SelectedAlternative ; ARBITER_RESULT Result ; } ARBITER_LIST_ENTRY , * PARBITER_LIST_ENTRY ; #line 16832 typedef NTSTATUS ( * PARBITER_HANDLER )(PVOID Context , ARBITER_ACTION Action , PARBITER_PARAMETERS Parameters ) ; #line 16853 typedef struct _ARBITER_INTERFACE { USHORT Size ; USHORT Version ; PVOID Context ; PINTERFACE_REFERENCE InterfaceReference ; PINTERFACE_DEREFERENCE InterfaceDereference ; PARBITER_HANDLER ArbiterHandler ; ULONG Flags ; } ARBITER_INTERFACE , * PARBITER_INTERFACE ; #line 16880 typedef enum _RESOURCE_TRANSLATION_DIRECTION { TranslateChildToParent, TranslateParentToChild } RESOURCE_TRANSLATION_DIRECTION ; #line 16889 typedef NTSTATUS ( * PTRANSLATE_RESOURCE_HANDLER )(PVOID Context , PCM_PARTIAL_RESOURCE_DESCRIPTOR Source , RESOURCE_TRANSLATION_DIRECTION Direction , ULONG AlternativesCount , IO_RESOURCE_DESCRIPTOR Alternatives[] , PDEVICE_OBJECT PhysicalDeviceObject , PCM_PARTIAL_RESOURCE_DESCRIPTOR Target ) ; #line 16901 typedef NTSTATUS ( * PTRANSLATE_RESOURCE_REQUIREMENTS_HANDLER )(PVOID Context , PIO_RESOURCE_DESCRIPTOR Source , PDEVICE_OBJECT PhysicalDeviceObject , PULONG TargetCount , PIO_RESOURCE_DESCRIPTOR * Target ) ; #line 16915 typedef struct _TRANSLATOR_INTERFACE { USHORT Size ; USHORT Version ; PVOID Context ; PINTERFACE_REFERENCE InterfaceReference ; PINTERFACE_DEREFERENCE InterfaceDereference ; PTRANSLATE_RESOURCE_HANDLER TranslateResources ; PTRANSLATE_RESOURCE_REQUIREMENTS_HANDLER TranslateResourceRequirements ; } TRANSLATOR_INTERFACE , * PTRANSLATOR_INTERFACE ; #line 16931 typedef NTSTATUS ( * PLEGACY_DEVICE_DETECTION_HANDLER )(PVOID Context , INTERFACE_TYPE LegacyBusType , ULONG BusNumber , ULONG SlotNumber , PDEVICE_OBJECT * PhysicalDeviceObject ) ; #line 16945 typedef struct _LEGACY_DEVICE_DETECTION_INTERFACE { USHORT Size ; USHORT Version ; PVOID Context ; PINTERFACE_REFERENCE InterfaceReference ; PINTERFACE_DEREFERENCE InterfaceDereference ; PLEGACY_DEVICE_DETECTION_HANDLER LegacyDeviceDetection ; } LEGACY_DEVICE_DETECTION_INTERFACE , * PLEGACY_DEVICE_DETECTION_INTERFACE ; #line 16959 typedef struct _PLUGPLAY_NOTIFICATION_HEADER { USHORT Version ; USHORT Size ; GUID Event ; } PLUGPLAY_NOTIFICATION_HEADER , * PPLUGPLAY_NOTIFICATION_HEADER ; #line 16972 typedef struct _HWPROFILE_CHANGE_NOTIFICATION { USHORT Version ; USHORT Size ; GUID Event ; } HWPROFILE_CHANGE_NOTIFICATION , * PHWPROFILE_CHANGE_NOTIFICATION ; #line 16986 typedef struct _DEVICE_INTERFACE_CHANGE_NOTIFICATION { USHORT Version ; USHORT Size ; GUID Event ; GUID InterfaceClassGuid ; PUNICODE_STRING SymbolicLinkName ; } DEVICE_INTERFACE_CHANGE_NOTIFICATION , * PDEVICE_INTERFACE_CHANGE_NOTIFICATION ; #line 17006 typedef struct _TARGET_DEVICE_REMOVAL_NOTIFICATION { USHORT Version ; USHORT Size ; GUID Event ; PFILE_OBJECT FileObject ; } TARGET_DEVICE_REMOVAL_NOTIFICATION , * PTARGET_DEVICE_REMOVAL_NOTIFICATION ; #line 17026 typedef struct _TARGET_DEVICE_CUSTOM_NOTIFICATION { USHORT Version ; USHORT Size ; GUID Event ; PFILE_OBJECT FileObject ; LONG NameBufferOffset ; UCHAR CustomDataBuffer[1] ; } TARGET_DEVICE_CUSTOM_NOTIFICATION , * PTARGET_DEVICE_CUSTOM_NOTIFICATION ; #line 17054 typedef struct _DEVICE_DESCRIPTION { ULONG Version ; BOOLEAN Master ; BOOLEAN ScatterGather ; BOOLEAN DemandMode ; BOOLEAN AutoInitialize ; BOOLEAN Dma32BitAddresses ; BOOLEAN IgnoreCount ; BOOLEAN Reserved1 ; BOOLEAN Dma64BitAddresses ; ULONG BusNumber ; ULONG DmaChannel ; INTERFACE_TYPE InterfaceType ; DMA_WIDTH DmaWidth ; DMA_SPEED DmaSpeed ; ULONG MaximumLength ; ULONG DmaPort ; } DEVICE_DESCRIPTION , * PDEVICE_DESCRIPTION ; #line 17086 typedef BOOLEAN ( * PHAL_RESET_DISPLAY_PARAMETERS )(ULONG Columns , ULONG Rows ) ; #line 17093 __declspec(dllimport) void HalAcquireDisplayOwnership(PHAL_RESET_DISPLAY_PARAMETERS ResetDisplayParameters ) ; #line 17114 __declspec(dllimport) void KeFlushWriteBuffer(void ) ; #line 17124 __declspec(dllimport) NTSTATUS HalAssignSlotResources(PUNICODE_STRING RegistryPath , PUNICODE_STRING DriverClassName , PDRIVER_OBJECT DriverObject , PDEVICE_OBJECT DeviceObject , INTERFACE_TYPE BusType , ULONG BusNumber , ULONG SlotNumber , PCM_RESOURCE_LIST * AllocatedResources ) ; #line 17137 __declspec(dllimport) ULONG HalGetInterruptVector(INTERFACE_TYPE InterfaceType , ULONG BusNumber , ULONG BusInterruptLevel , ULONG BusInterruptVector , PKIRQL Irql , PKAFFINITY Affinity ) ; #line 17148 __declspec(dllimport) ULONG HalSetBusData(BUS_DATA_TYPE BusDataType , ULONG BusNumber , ULONG SlotNumber , PVOID Buffer , ULONG Length ) ; #line 17159 __declspec(dllimport) ULONG HalSetBusDataByOffset(BUS_DATA_TYPE BusDataType , ULONG BusNumber , ULONG SlotNumber , PVOID Buffer , ULONG Offset , ULONG Length ) ; #line 17170 __declspec(dllimport) BOOLEAN HalTranslateBusAddress(INTERFACE_TYPE InterfaceType , ULONG BusNumber , PHYSICAL_ADDRESS BusAddress , PULONG AddressSpace , PPHYSICAL_ADDRESS TranslatedAddress ) ; #line 17196 __declspec(dllimport) PVOID HalAllocateCrashDumpRegisters(PADAPTER_OBJECT AdapterObject , PULONG NumberOfMapRegisters ) ; #line 17204 __declspec(dllimport) ULONG HalGetBusData(BUS_DATA_TYPE BusDataType , ULONG BusNumber , ULONG SlotNumber , PVOID Buffer , ULONG Length ) ; #line 17215 __declspec(dllimport) ULONG HalGetBusDataByOffset(BUS_DATA_TYPE BusDataType , ULONG BusNumber , ULONG SlotNumber , PVOID Buffer , ULONG Offset , ULONG Length ) ; #line 17226 __declspec(dllimport) PADAPTER_OBJECT HalGetAdapter(PDEVICE_DESCRIPTION DeviceDescription , PULONG NumberOfMapRegisters ) ; #line 17237 __declspec(dllimport) BOOLEAN HalMakeBeep(ULONG Frequency ) ; #line 17282 __declspec(dllimport) NTSTATUS IoReadPartitionTable(PDEVICE_OBJECT DeviceObject , ULONG SectorSize , BOOLEAN ReturnRecognizedPartitions , struct _DRIVE_LAYOUT_INFORMATION * * PartitionBuffer ) ; #line 17291 __declspec(dllimport) NTSTATUS IoSetPartitionInformation(PDEVICE_OBJECT DeviceObject , ULONG SectorSize , ULONG PartitionNumber , ULONG PartitionType ) ; #line 17300 __declspec(dllimport) NTSTATUS IoWritePartitionTable(PDEVICE_OBJECT DeviceObject , ULONG SectorSize , ULONG SectorsPerTrack , ULONG NumberOfHeads , struct _DRIVE_LAYOUT_INFORMATION * PartitionBuffer ) ; #line 17315 __declspec(dllimport) LARGE_INTEGER KeQueryPerformanceCounter(PLARGE_INTEGER PerformanceFrequency ) ; #line 17326 __declspec(dllimport) void KeStallExecutionProcessor(ULONG MicroSeconds ) ; #line 17333 typedef void ( * PDEVICE_CONTROL_COMPLETION )(struct _DEVICE_CONTROL_CONTEXT * ControlContext ) ; #line 17339 typedef struct _DEVICE_CONTROL_CONTEXT { NTSTATUS Status ; PDEVICE_HANDLER_OBJECT DeviceHandler ; PDEVICE_OBJECT DeviceObject ; ULONG ControlCode ; PVOID Buffer ; PULONG BufferLength ; PVOID Context ; } DEVICE_CONTROL_CONTEXT , * PDEVICE_CONTROL_CONTEXT ; typedef PBUS_HANDLER (_fastcall * pHalHandlerForBus )(INTERFACE_TYPE InterfaceType , ULONG BusNumber ) ; #line 17355 typedef void (_fastcall * pHalReferenceBusHandler )(PBUS_HANDLER BusHandler ) ; #line 17365 typedef enum _HAL_QUERY_INFORMATION_CLASS { HalInstalledBusInformation, HalProfileSourceInformation, HalInformationClassUnused1, HalPowerInformation, HalProcessorSpeedInformation, HalCallbackInformation, HalMapRegisterInformation, HalMcaLogInformation, HalFrameBufferCachingInformation, HalDisplayBiosInformation, HalProcessorFeatureInformation } HAL_QUERY_INFORMATION_CLASS , * PHAL_QUERY_INFORMATION_CLASS ; #line 17381 typedef enum _HAL_SET_INFORMATION_CLASS { HalProfileSourceInterval, HalProfileSourceInterruptHandler, HalMcaRegisterDriver } HAL_SET_INFORMATION_CLASS , * PHAL_SET_INFORMATION_CLASS ; #line 17388 typedef NTSTATUS ( * pHalQuerySystemInformation )(HAL_QUERY_INFORMATION_CLASS InformationClass , ULONG BufferSize , PVOID Buffer , PULONG ReturnedLength ) ; #line 17397 NTSTATUS HaliQuerySystemInformation(HAL_SET_INFORMATION_CLASS InformationClass , ULONG BufferSize , PVOID Buffer , PULONG ReturnedLength ) ; #line 17405 typedef NTSTATUS ( * pHalSetSystemInformation )(HAL_SET_INFORMATION_CLASS InformationClass , ULONG BufferSize , PVOID Buffer ) ; #line 17413 NTSTATUS HaliSetSystemInformation(HAL_SET_INFORMATION_CLASS InformationClass , ULONG BufferSize , PVOID Buffer ) ; #line 17420 typedef void (_fastcall * pHalExamineMBR )(PDEVICE_OBJECT DeviceObject , ULONG SectorSize , ULONG MBRTypeIdentifier , PVOID * Buffer ) ; #line 17429 typedef void (_fastcall * pHalIoAssignDriveLetters )(struct _LOADER_PARAMETER_BLOCK * LoaderBlock , PSTRING NtDeviceName , PUCHAR NtSystemPath , PSTRING NtSystemPathString ) ; #line 17438 typedef NTSTATUS (_fastcall * pHalIoReadPartitionTable )(PDEVICE_OBJECT DeviceObject , ULONG SectorSize , BOOLEAN ReturnRecognizedPartitions , struct _DRIVE_LAYOUT_INFORMATION * * PartitionBuffer ) ; #line 17447 typedef NTSTATUS (_fastcall * pHalIoSetPartitionInformation )(PDEVICE_OBJECT DeviceObject , ULONG SectorSize , ULONG PartitionNumber , ULONG PartitionType ) ; #line 17456 typedef NTSTATUS (_fastcall * pHalIoWritePartitionTable )(PDEVICE_OBJECT DeviceObject , ULONG SectorSize , ULONG SectorsPerTrack , ULONG NumberOfHeads , struct _DRIVE_LAYOUT_INFORMATION * PartitionBuffer ) ; #line 17466 typedef NTSTATUS ( * pHalQueryBusSlots )(PBUS_HANDLER BusHandler , ULONG BufferSize , PULONG SlotNumbers , PULONG ReturnedLength ) ; #line 17475 typedef NTSTATUS ( * pHalInitPnpDriver )(void ) ; #line 17481 NTSTATUS HaliInitPnpDriver(void ) ; #line 17486 typedef struct _PM_DISPATCH_TABLE { ULONG Signature ; ULONG Version ; PVOID Function[1] ; } PM_DISPATCH_TABLE , * PPM_DISPATCH_TABLE ; typedef NTSTATUS ( * pHalInitPowerManagement )(PPM_DISPATCH_TABLE PmDriverDispatchTable , PPM_DISPATCH_TABLE * PmHalDispatchTable ) ; #line 17499 NTSTATUS HaliInitPowerManagement(PPM_DISPATCH_TABLE PmDriverDispatchTable , PPM_DISPATCH_TABLE * PmHalDispatchTable ) ; #line 17505 typedef struct _DMA_ADAPTER * ( * pHalGetDmaAdapter )(PVOID Context , struct _DEVICE_DESCRIPTION * DeviceDescriptor , PULONG NumberOfMapRegisters ) ; #line 17513 struct _DMA_ADAPTER * HaliGetDmaAdapter(PVOID Context , struct _DEVICE_DESCRIPTION * DeviceDescriptor , PULONG NumberOfMapRegisters ) ; #line 17520 typedef NTSTATUS ( * pHalGetInterruptTranslator )(INTERFACE_TYPE ParentInterfaceType , ULONG ParentBusNumber , INTERFACE_TYPE BridgeInterfaceType , USHORT Size , USHORT Version , PTRANSLATOR_INTERFACE Translator , PULONG BridgeBusNumber ) ; #line 17532 NTSTATUS HaliGetInterruptTranslator(INTERFACE_TYPE ParentInterfaceType , ULONG ParentBusNumber , INTERFACE_TYPE BridgeInterfaceType , USHORT Size , USHORT Version , PTRANSLATOR_INTERFACE Translator , PULONG BridgeBusNumber ) ; #line 17543 typedef BOOLEAN ( * pHalTranslateBusAddress )(INTERFACE_TYPE InterfaceType , ULONG BusNumber , PHYSICAL_ADDRESS BusAddress , PULONG AddressSpace , PPHYSICAL_ADDRESS TranslatedAddress ) ; #line 17553 typedef NTSTATUS ( * pHalAssignSlotResources )(PUNICODE_STRING RegistryPath , PUNICODE_STRING DriverClassName , PDRIVER_OBJECT DriverObject , PDEVICE_OBJECT DeviceObject , INTERFACE_TYPE BusType , ULONG BusNumber , ULONG SlotNumber , PCM_RESOURCE_LIST * AllocatedResources ) ; #line 17566 typedef void ( * pHalHaltSystem )(void ) ; #line 17572 typedef void ( * pHalResetDisplay )(void ) ; #line 17578 typedef BOOLEAN ( * pHalFindBusAddressTranslation )(PHYSICAL_ADDRESS BusAddress , PULONG AddressSpace , PPHYSICAL_ADDRESS TranslatedAddress , PULONG_PTR Context , BOOLEAN NextBus ) ; #line 17588 typedef struct { ULONG Version ; pHalQuerySystemInformation HalQuerySystemInformation ; pHalSetSystemInformation HalSetSystemInformation ; pHalQueryBusSlots HalQueryBusSlots ; ULONG Spare1 ; pHalExamineMBR HalExamineMBR ; pHalIoAssignDriveLetters HalIoAssignDriveLetters ; pHalIoReadPartitionTable HalIoReadPartitionTable ; pHalIoSetPartitionInformation HalIoSetPartitionInformation ; pHalIoWritePartitionTable HalIoWritePartitionTable ; pHalHandlerForBus HalReferenceHandlerForBus ; pHalReferenceBusHandler HalReferenceBusHandler ; pHalReferenceBusHandler HalDereferenceBusHandler ; pHalInitPnpDriver HalInitPnpDriver ; pHalInitPowerManagement HalInitPowerManagement ; pHalGetDmaAdapter HalGetDmaAdapter ; pHalGetInterruptTranslator HalGetInterruptTranslator ; } HAL_DISPATCH , * PHAL_DISPATCH ; #line 17613 extern PHAL_DISPATCH HalDispatchTable ; #line 17650 typedef struct _HAL_BUS_INFORMATION { INTERFACE_TYPE BusType ; BUS_DATA_TYPE ConfigurationType ; ULONG BusNumber ; ULONG Reserved ; } HAL_BUS_INFORMATION , * PHAL_BUS_INFORMATION ; #line 17658 typedef struct _HAL_PROFILE_SOURCE_INFORMATION { KPROFILE_SOURCE Source ; BOOLEAN Supported ; ULONG Interval ; } HAL_PROFILE_SOURCE_INFORMATION , * PHAL_PROFILE_SOURCE_INFORMATION ; #line 17665 typedef struct _HAL_PROFILE_SOURCE_INTERVAL { KPROFILE_SOURCE Source ; ULONG_PTR Interval ; } HAL_PROFILE_SOURCE_INTERVAL , * PHAL_PROFILE_SOURCE_INTERVAL ; #line 17671 typedef enum _HAL_DISPLAY_BIOS_INFORMATION { HalDisplayInt10Bios, HalDisplayEmulatedBios, HalDisplayNoBios } HAL_DISPLAY_BIOS_INFORMATION , * PHAL_DISPLAY_BIOS_INFORMATION ; #line 17678 typedef struct _HAL_POWER_INFORMATION { ULONG TBD ; } HAL_POWER_INFORMATION , * PHAL_POWER_INFORMATION ; #line 17683 typedef struct _HAL_PROCESSOR_SPEED_INFO { ULONG TBD ; } HAL_PROCESSOR_SPEED_INFORMATION , * PHAL_PROCESSOR_SPEED_INFORMATION ; #line 17688 typedef struct _HAL_CALLBACKS { PCALLBACK_OBJECT___0 SetSystemInformation ; PCALLBACK_OBJECT___0 BusCheck ; } HAL_CALLBACKS , * PHAL_CALLBACKS ; #line 17694 typedef struct _HAL_PROCESSOR_FEATURE { ULONG UsableFeatureBits ; } HAL_PROCESSOR_FEATURE ; #line 17706 typedef union _MCI_ADDR { struct { ULONG Address ; ULONG Reserved ; } ; ULONGLONG QuadPart ; } MCI_ADDR , * PMCI_ADDR ; #line 17716 typedef enum { HAL_MCE_RECORD, HAL_MCA_RECORD } MCA_EXCEPTION_TYPE ; #line 17726 typedef struct _MCA_EXCEPTION { ULONG VersionNumber ; MCA_EXCEPTION_TYPE ExceptionType ; LARGE_INTEGER TimeStamp ; ULONG ProcessorNumber ; union { struct { UCHAR BankNumber ; MCI_STATS Status ; MCI_ADDR Address ; ULONGLONG Misc ; } Mca ; struct { ULONGLONG Address ; ULONGLONG Type ; } Mce ; } u ; } MCA_EXCEPTION , * PMCA_EXCEPTION ; #line 17752 typedef void ( * PDRIVER_EXCPTN_CALLBACK )(PVOID Context , PMCA_EXCEPTION BankLog ) ; #line 17762 typedef struct _MCA_DRIVER_INFO { PDRIVER_EXCPTN_CALLBACK ExceptionCallback ; PKDEFERRED_ROUTINE DpcCallback ; PVOID DeviceContext ; } MCA_DRIVER_INFO , * PMCA_DRIVER_INFO ; #line 17772 typedef struct _SCATTER_GATHER_ELEMENT { PHYSICAL_ADDRESS Address ; ULONG Length ; ULONG_PTR Reserved ; } SCATTER_GATHER_ELEMENT , * PSCATTER_GATHER_ELEMENT ; #pragma warning(disable:4200) #line 17779 typedef struct _SCATTER_GATHER_LIST { ULONG NumberOfElements ; ULONG_PTR Reserved ; SCATTER_GATHER_ELEMENT Elements[] ; } SCATTER_GATHER_LIST , * PSCATTER_GATHER_LIST ; #line 17784 #pragma warning(default:4200) #line 17788 typedef struct _DMA_OPERATIONS * PDMA_OPERATIONS ; typedef struct _DMA_ADAPTER { USHORT Version ; USHORT Size ; PDMA_OPERATIONS DmaOperations ; } DMA_ADAPTER , * PDMA_ADAPTER ; #line 17797 typedef void ( * PPUT_DMA_ADAPTER )(PDMA_ADAPTER DmaAdapter ) ; #line 17801 typedef PVOID ( * PALLOCATE_COMMON_BUFFER )(PDMA_ADAPTER DmaAdapter , ULONG Length , PPHYSICAL_ADDRESS LogicalAddress , BOOLEAN CacheEnabled ) ; #line 17808 typedef void ( * PFREE_COMMON_BUFFER )(PDMA_ADAPTER DmaAdapter , ULONG Length , PHYSICAL_ADDRESS LogicalAddress , PVOID VirtualAddress , BOOLEAN CacheEnabled ) ; #line 17816 typedef NTSTATUS ( * PALLOCATE_ADAPTER_CHANNEL )(PDMA_ADAPTER DmaAdapter , PDEVICE_OBJECT DeviceObject , ULONG NumberOfMapRegisters , PDRIVER_CONTROL ExecutionRoutine , PVOID Context ) ; #line 17824 typedef BOOLEAN ( * PFLUSH_ADAPTER_BUFFERS )(PDMA_ADAPTER DmaAdapter , PMDL Mdl , PVOID MapRegisterBase , PVOID CurrentVa , ULONG Length , BOOLEAN WriteToDevice ) ; #line 17833 typedef void ( * PFREE_ADAPTER_CHANNEL )(PDMA_ADAPTER DmaAdapter ) ; #line 17837 typedef void ( * PFREE_MAP_REGISTERS )(PDMA_ADAPTER DmaAdapter , PVOID MapRegisterBase , ULONG NumberOfMapRegisters ) ; #line 17843 typedef PHYSICAL_ADDRESS ( * PMAP_TRANSFER )(PDMA_ADAPTER DmaAdapter , PMDL Mdl , PVOID MapRegisterBase , PVOID CurrentVa , PULONG Length , BOOLEAN WriteToDevice ) ; #line 17852 typedef ULONG ( * PGET_DMA_ALIGNMENT )(PDMA_ADAPTER DmaAdapter ) ; #line 17856 typedef ULONG ( * PREAD_DMA_COUNTER )(PDMA_ADAPTER DmaAdapter ) ; #line 17860 typedef void ( * PDRIVER_LIST_CONTROL )(struct _DEVICE_OBJECT * DeviceObject , struct _IRP * Irp , PSCATTER_GATHER_LIST ScatterGather , PVOID Context ) ; #line 17868 typedef NTSTATUS ( * PGET_SCATTER_GATHER_LIST )(PDMA_ADAPTER DmaAdapter , PDEVICE_OBJECT DeviceObject , PMDL Mdl , PVOID CurrentVa , ULONG Length , PDRIVER_LIST_CONTROL ExecutionRoutine , PVOID Context , BOOLEAN WriteToDevice ) ; #line 17880 typedef void ( * PPUT_SCATTER_GATHER_LIST )(PDMA_ADAPTER DmaAdapter , PSCATTER_GATHER_LIST ScatterGather , BOOLEAN WriteToDevice ) ; #line 17887 typedef struct _DMA_OPERATIONS { ULONG Size ; PPUT_DMA_ADAPTER PutDmaAdapter ; PALLOCATE_COMMON_BUFFER AllocateCommonBuffer ; PFREE_COMMON_BUFFER FreeCommonBuffer ; PALLOCATE_ADAPTER_CHANNEL AllocateAdapterChannel ; PFLUSH_ADAPTER_BUFFERS FlushAdapterBuffers ; PFREE_ADAPTER_CHANNEL FreeAdapterChannel ; PFREE_MAP_REGISTERS FreeMapRegisters ; PMAP_TRANSFER MapTransfer ; PGET_DMA_ALIGNMENT GetDmaAlignment ; PREAD_DMA_COUNTER ReadDmaCounter ; PGET_SCATTER_GATHER_LIST GetScatterGatherList ; PPUT_SCATTER_GATHER_LIST PutScatterGatherList ; } DMA_OPERATIONS ; #line 18126 __declspec(dllimport) NTSTATUS HalAllocateAdapterChannel(PADAPTER_OBJECT AdapterObject , PWAIT_CONTEXT_BLOCK Wcb , ULONG NumberOfMapRegisters , PDRIVER_CONTROL ExecutionRoutine ) ; #line 18135 __declspec(dllimport) PVOID HalAllocateCommonBuffer(PADAPTER_OBJECT AdapterObject , ULONG Length , PPHYSICAL_ADDRESS LogicalAddress , BOOLEAN CacheEnabled ) ; #line 18144 __declspec(dllimport) void HalFreeCommonBuffer(PADAPTER_OBJECT AdapterObject , ULONG Length , PHYSICAL_ADDRESS LogicalAddress , PVOID VirtualAddress , BOOLEAN CacheEnabled ) ; #line 18154 __declspec(dllimport) ULONG HalReadDmaCounter(PADAPTER_OBJECT AdapterObject ) ; #line 18160 __declspec(dllimport) BOOLEAN IoFlushAdapterBuffers(PADAPTER_OBJECT AdapterObject , PMDL Mdl , PVOID MapRegisterBase , PVOID CurrentVa , ULONG Length , BOOLEAN WriteToDevice ) ; #line 18171 __declspec(dllimport) void IoFreeAdapterChannel(PADAPTER_OBJECT AdapterObject ) ; #line 18177 __declspec(dllimport) void IoFreeMapRegisters(PADAPTER_OBJECT AdapterObject , PVOID MapRegisterBase , ULONG NumberOfMapRegisters ) ; #line 18185 __declspec(dllimport) PHYSICAL_ADDRESS IoMapTransfer(PADAPTER_OBJECT AdapterObject , PMDL Mdl , PVOID MapRegisterBase , PVOID CurrentVa , PULONG Length , BOOLEAN WriteToDevice ) ; #line 18197 NTSTATUS HalGetScatterGatherList(PADAPTER_OBJECT DmaAdapter , PDEVICE_OBJECT DeviceObject , PMDL Mdl , PVOID CurrentVa , ULONG Length , PDRIVER_LIST_CONTROL ExecutionRoutine , PVOID Context , BOOLEAN WriteToDevice ) ; #line 18209 void HalPutScatterGatherList(PADAPTER_OBJECT DmaAdapter , PSCATTER_GATHER_LIST ScatterGather , BOOLEAN WriteToDevice ) ; #line 18216 void HalPutDmaAdapter(PADAPTER_OBJECT DmaAdapter ) ; #line 18222 __declspec(dllimport) void PoSetSystemState(EXECUTION_STATE Flags ) ; #line 18228 __declspec(dllimport) PVOID PoRegisterSystemState(PVOID StateHandle , EXECUTION_STATE Flags ) ; #line 18235 typedef void ( * PREQUEST_POWER_COMPLETE )(PDEVICE_OBJECT DeviceObject , UCHAR MinorFunction , POWER_STATE PowerState , PVOID Context , PIO_STATUS_BLOCK IoStatus ) ; #line 18245 __declspec(dllimport) NTSTATUS PoRequestPowerIrp(PDEVICE_OBJECT DeviceObject , UCHAR MinorFunction , POWER_STATE PowerState , PREQUEST_POWER_COMPLETE CompletionFunction , PVOID Context , PIRP * Irp ) ; #line 18256 __declspec(dllimport) void PoUnregisterSystemState(PVOID StateHandle ) ; #line 18263 __declspec(dllimport) POWER_STATE PoSetPowerState(PDEVICE_OBJECT DeviceObject , POWER_STATE_TYPE Type , POWER_STATE State ) ; #line 18271 __declspec(dllimport) NTSTATUS PoCallDriver(PDEVICE_OBJECT DeviceObject , PIRP Irp ) ; #line 18278 __declspec(dllimport) void PoStartNextPowerIrp(PIRP Irp ) ; #line 18285 __declspec(dllimport) PULONG PoRegisterDeviceForIdleDetection(PDEVICE_OBJECT DeviceObject , ULONG ConservationIdleTime , ULONG PerformanceIdleTime , DEVICE_POWER_STATE State ) ; #line 18311 __declspec(dllimport) BOOLEAN FsRtlIsTotalDeviceFailure(NTSTATUS Status ) ; #line 18321 typedef struct _OBJECT_HANDLE_INFORMATION { ULONG HandleAttributes ; ACCESS_MASK GrantedAccess ; } OBJECT_HANDLE_INFORMATION , * POBJECT_HANDLE_INFORMATION ; __declspec(dllimport) NTSTATUS ObReferenceObjectByHandle(HANDLE Handle , ACCESS_MASK DesiredAccess , POBJECT_TYPE ObjectType , KPROCESSOR_MODE AccessMode , PVOID * Object , POBJECT_HANDLE_INFORMATION HandleInformation ) ; #line 18342 __declspec(dllimport) void _fastcall ObfReferenceObject(PVOID Object ) ; #line 18350 __declspec(dllimport) NTSTATUS ObReferenceObjectByPointer(PVOID Object , ACCESS_MASK DesiredAccess , POBJECT_TYPE ObjectType , KPROCESSOR_MODE AccessMode ) ; #line 18359 __declspec(dllimport) void _fastcall ObfDereferenceObject(PVOID Object ) ; #line 18366 NTSTATUS ObGetObjectSecurity(PVOID Object , PSECURITY_DESCRIPTOR * SecurityDescriptor , PBOOLEAN MemoryAllocated ) ; #line 18373 void ObReleaseObjectSecurity(PSECURITY_DESCRIPTOR SecurityDescriptor , BOOLEAN MemoryAllocated ) ; #line 18402 typedef struct _PCI_SLOT_NUMBER { union { struct { ULONG DeviceNumber : 5; ULONG FunctionNumber : 3; ULONG Reserved : 24; } bits ; ULONG AsULONG ; } u ; } PCI_SLOT_NUMBER , * PPCI_SLOT_NUMBER ; #line 18418 typedef struct _PCI_COMMON_CONFIG { USHORT VendorID ; USHORT DeviceID ; USHORT Command ; USHORT Status ; UCHAR RevisionID ; UCHAR ProgIf ; UCHAR SubClass ; UCHAR BaseClass ; UCHAR CacheLineSize ; UCHAR LatencyTimer ; UCHAR HeaderType ; UCHAR BIST ; union { struct _PCI_HEADER_TYPE_0 { ULONG BaseAddresses[6] ; ULONG CIS ; USHORT SubVendorID ; USHORT SubSystemID ; ULONG ROMBaseAddress ; UCHAR CapabilitiesPtr ; UCHAR Reserved1[3] ; ULONG Reserved2 ; UCHAR InterruptLine ; UCHAR InterruptPin ; UCHAR MinimumGrant ; UCHAR MaximumLatency ; } type0 ; struct _PCI_HEADER_TYPE_1 { ULONG BaseAddresses[2] ; UCHAR PrimaryBus ; UCHAR SecondaryBus ; UCHAR SubordinateBus ; UCHAR SecondaryLatency ; UCHAR IOBase ; UCHAR IOLimit ; USHORT SecondaryStatus ; USHORT MemoryBase ; USHORT MemoryLimit ; USHORT PrefetchBase ; USHORT PrefetchLimit ; ULONG PrefetchBaseUpper32 ; ULONG PrefetchLimitUpper32 ; USHORT IOBaseUpper16 ; USHORT IOLimitUpper16 ; UCHAR CapabilitiesPtr ; UCHAR Reserved1[3] ; ULONG ROMBaseAddress ; UCHAR InterruptLine ; UCHAR InterruptPin ; USHORT BridgeControl ; } type1 ; struct _PCI_HEADER_TYPE_2 { ULONG SocketRegistersBaseAddress ; UCHAR CapabilitiesPtr ; UCHAR Reserved ; USHORT SecondaryStatus ; UCHAR PrimaryBus ; UCHAR SecondaryBus ; UCHAR SubordinateBus ; UCHAR SecondaryLatency ; struct { ULONG Base ; ULONG Limit ; } Range[5 - 1] ; UCHAR InterruptLine ; UCHAR InterruptPin ; USHORT BridgeControl ; } type2 ; } u ; UCHAR DeviceSpecific[192] ; } PCI_COMMON_CONFIG , * PPCI_COMMON_CONFIG ; #line 18591 typedef struct _PCI_CAPABILITIES_HEADER { UCHAR CapabilityID ; UCHAR Next ; } PCI_CAPABILITIES_HEADER , * PPCI_CAPABILITIES_HEADER ; #line 18600 typedef struct _PCI_PMC { UCHAR Version : 3; UCHAR PMEClock : 1; UCHAR Rsvd1 : 1; UCHAR DeviceSpecificInitialization : 1; UCHAR Rsvd2 : 2; struct _PM_SUPPORT { UCHAR Rsvd2 : 1; UCHAR D1 : 1; UCHAR D2 : 1; UCHAR PMED0 : 1; UCHAR PMED1 : 1; UCHAR PMED2 : 1; UCHAR PMED3Hot : 1; UCHAR PMED3Cold : 1; } Support ; } PCI_PMC , * PPCI_PMC ; typedef struct _PCI_PMCSR { USHORT PowerState : 2; USHORT Rsvd1 : 6; USHORT PMEEnable : 1; USHORT DataSelect : 4; USHORT DataScale : 2; USHORT PMEStatus : 1; } PCI_PMCSR , * PPCI_PMCSR ; #line 18628 typedef struct _PCI_PMCSR_BSE { UCHAR Rsvd1 : 6; UCHAR D3HotSupportsStopClock : 1; UCHAR BusPowerClockControlEnabled : 1; } PCI_PMCSR_BSE , * PPCI_PMCSR_BSE ; #line 18635 typedef struct _PCI_PM_CAPABILITY { PCI_CAPABILITIES_HEADER Header ; union { PCI_PMC Capabilities ; USHORT AsUSHORT ; } PMC ; union { PCI_PMCSR ControlStatus ; USHORT AsUSHORT ; } PMCSR ; union { PCI_PMCSR_BSE BridgeSupport ; UCHAR AsUCHAR ; } PMCSR_BSE ; UCHAR Data ; } PCI_PM_CAPABILITY , * PPCI_PM_CAPABILITY ; #line 18679 typedef struct _PCI_AGP_CAPABILITY { PCI_CAPABILITIES_HEADER Header ; USHORT Minor : 4; USHORT Major : 4; USHORT Rsvd1 : 8; struct _PCI_AGP_STATUS { ULONG Rate : 3; ULONG Rsvd1 : 1; ULONG FastWrite : 1; ULONG FourGB : 1; ULONG Rsvd2 : 3; ULONG SideBandAddressing : 1; ULONG Rsvd3 : 14; ULONG RequestQueueDepthMaximum : 8; } AGPStatus ; struct _PCI_AGP_COMMAND { ULONG Rate : 3; ULONG Rsvd1 : 1; ULONG FastWriteEnable : 1; ULONG FourGBEnable : 1; ULONG Rsvd2 : 2; ULONG AGPEnable : 1; ULONG SBAEnable : 1; ULONG Rsvd3 : 14; ULONG RequestQueueDepth : 8; } AGPCommand ; } PCI_AGP_CAPABILITY , * PPCI_AGP_CAPABILITY ; #line 18720 typedef struct _PCI_MSI_CAPABILITY { PCI_CAPABILITIES_HEADER Header ; struct _PCI_MSI_MESSAGE_CONTROL { USHORT MSIEnable : 1; USHORT MultipleMessageCapable : 3; USHORT MultipleMessageEnable : 3; USHORT CapableOf64Bits : 1; USHORT Reserved : 8; } MessageControl ; union { struct _PCI_MSI_MESSAGE_ADDRESS { ULONG_PTR Reserved : 2; ULONG_PTR Address : 30; } Register ; ULONG_PTR Raw ; } MessageAddress ; union { struct _PCI_MSI_64BIT_DATA { ULONG MessageUpperAddress ; USHORT MessageData ; } Bit64 ; struct _PCI_MSI_32BIT_DATA { USHORT MessageData ; ULONG Unused ; } Bit32 ; } Data ; } PCI_MSI_CAPABILITY , * PPCI_PCI_CAPABILITY ; #line 18946 typedef void ( * PciPin2Line )(struct _BUS_HANDLER * BusHandler , struct _BUS_HANDLER * RootHandler , PCI_SLOT_NUMBER SlotNumber , PPCI_COMMON_CONFIG PciData ) ; #line 18954 typedef void ( * PciLine2Pin )(struct _BUS_HANDLER * BusHandler , struct _BUS_HANDLER * RootHandler , PCI_SLOT_NUMBER SlotNumber , PPCI_COMMON_CONFIG PciNewData , PPCI_COMMON_CONFIG PciOldData ) ; #line 18963 typedef void ( * PciReadWriteConfig )(struct _BUS_HANDLER * BusHandler , PCI_SLOT_NUMBER Slot , PVOID Buffer , ULONG Offset , ULONG Length ) ; #line 18975 typedef struct _PCIBUSDATA { ULONG Tag ; ULONG Version ; PciReadWriteConfig ReadConfig ; PciReadWriteConfig WriteConfig ; PciPin2Line Pin2Line ; PciLine2Pin Line2Pin ; PCI_SLOT_NUMBER ParentSlot ; PVOID Reserved[4] ; } PCIBUSDATA , * PPCIBUSDATA ; typedef ULONG ( * PCI_READ_WRITE_CONFIG )(PVOID Context , UCHAR BusOffset , ULONG Slot , PVOID Buffer , ULONG Offset , ULONG Length ) ; #line 18995 typedef void ( * PCI_PIN_TO_LINE )(PVOID Context , PPCI_COMMON_CONFIG PciData ) ; #line 19000 typedef void ( * PCI_LINE_TO_PIN )(PVOID Context , PPCI_COMMON_CONFIG PciNewData , PPCI_COMMON_CONFIG PciOldData ) ; #line 19006 typedef struct _PCI_BUS_INTERFACE_STANDARD { USHORT Size ; USHORT Version ; PVOID Context ; PINTERFACE_REFERENCE InterfaceReference ; PINTERFACE_DEREFERENCE InterfaceDereference ; PCI_READ_WRITE_CONFIG ReadConfig ; PCI_READ_WRITE_CONFIG WriteConfig ; PCI_PIN_TO_LINE PinToLine ; PCI_LINE_TO_PIN LineToPin ; } PCI_BUS_INTERFACE_STANDARD , * PPCI_BUS_INTERFACE_STANDARD ; #line 19028 typedef BOOLEAN ( * PPCI_IS_DEVICE_PRESENT )(USHORT VendorID , USHORT DeviceID , UCHAR RevisionID , USHORT SubVendorID , USHORT SubSystemID , ULONG Flags ) ; #line 19043 typedef struct _PCI_DEVICE_PRESENT_INTERFACE { USHORT Size ; USHORT Version ; PVOID Context ; PINTERFACE_REFERENCE InterfaceReference ; PINTERFACE_DEREFERENCE InterfaceDereference ; PPCI_IS_DEVICE_PRESENT IsDevicePresent ; } PCI_DEVICE_PRESENT_INTERFACE , * PPCI_DEVICE_PRESENT_INTERFACE ; #line 19066 extern POBJECT_TYPE * IoFileObjectType ; extern POBJECT_TYPE * ExEventObjectType ; extern POBJECT_TYPE * ExSemaphoreObjectType ; #line 19074 __declspec(dllimport) NTSTATUS __stdcall ZwCreateFile(PHANDLE FileHandle , ACCESS_MASK DesiredAccess , POBJECT_ATTRIBUTES ObjectAttributes , PIO_STATUS_BLOCK IoStatusBlock , PLARGE_INTEGER AllocationSize , ULONG FileAttributes , ULONG ShareAccess , ULONG CreateDisposition , ULONG CreateOptions , PVOID EaBuffer , ULONG EaLength ) ; #line 19091 __declspec(dllimport) NTSTATUS __stdcall ZwOpenFile(PHANDLE FileHandle , ACCESS_MASK DesiredAccess , POBJECT_ATTRIBUTES ObjectAttributes , PIO_STATUS_BLOCK IoStatusBlock , ULONG ShareAccess , ULONG OpenOptions ) ; #line 19103 __declspec(dllimport) NTSTATUS __stdcall ZwQueryInformationFile(HANDLE FileHandle , PIO_STATUS_BLOCK IoStatusBlock , PVOID FileInformation , ULONG Length , FILE_INFORMATION_CLASS FileInformationClass ) ; #line 19114 __declspec(dllimport) NTSTATUS __stdcall ZwSetInformationFile(HANDLE FileHandle , PIO_STATUS_BLOCK IoStatusBlock , PVOID FileInformation , ULONG Length , FILE_INFORMATION_CLASS FileInformationClass ) ; #line 19125 __declspec(dllimport) NTSTATUS __stdcall ZwReadFile(HANDLE FileHandle , HANDLE Event , PIO_APC_ROUTINE ApcRoutine , PVOID ApcContext , PIO_STATUS_BLOCK IoStatusBlock , PVOID Buffer , ULONG Length , PLARGE_INTEGER ByteOffset , PULONG Key ) ; #line 19140 __declspec(dllimport) NTSTATUS __stdcall ZwWriteFile(HANDLE FileHandle , HANDLE Event , PIO_APC_ROUTINE ApcRoutine , PVOID ApcContext , PIO_STATUS_BLOCK IoStatusBlock , PVOID Buffer , ULONG Length , PLARGE_INTEGER ByteOffset , PULONG Key ) ; #line 19155 __declspec(dllimport) NTSTATUS __stdcall ZwClose(HANDLE Handle ) ; #line 19162 __declspec(dllimport) NTSTATUS __stdcall ZwCreateDirectoryObject(PHANDLE DirectoryHandle , ACCESS_MASK DesiredAccess , POBJECT_ATTRIBUTES ObjectAttributes ) ; #line 19171 __declspec(dllimport) NTSTATUS __stdcall ZwMakeTemporaryObject(HANDLE Handle ) ; #line 19178 __declspec(dllimport) NTSTATUS __stdcall ZwOpenSection(PHANDLE SectionHandle , ACCESS_MASK DesiredAccess , POBJECT_ATTRIBUTES ObjectAttributes ) ; #line 19187 __declspec(dllimport) NTSTATUS __stdcall ZwMapViewOfSection(HANDLE SectionHandle , HANDLE ProcessHandle , PVOID * BaseAddress , ULONG ZeroBits , ULONG CommitSize , PLARGE_INTEGER SectionOffset , PSIZE_T ViewSize , SECTION_INHERIT InheritDisposition , ULONG AllocationType , ULONG Protect ) ; #line 19203 __declspec(dllimport) NTSTATUS __stdcall ZwUnmapViewOfSection(HANDLE ProcessHandle , PVOID BaseAddress ) ; #line 19211 __declspec(dllimport) NTSTATUS __stdcall ZwSetInformationThread(HANDLE ThreadHandle , THREADINFOCLASS ThreadInformationClass , PVOID ThreadInformation , ULONG ThreadInformationLength ) ; #line 19221 __declspec(dllimport) NTSTATUS __stdcall ZwCreateKey(PHANDLE KeyHandle , ACCESS_MASK DesiredAccess , POBJECT_ATTRIBUTES ObjectAttributes , ULONG TitleIndex , PUNICODE_STRING Class , ULONG CreateOptions , PULONG Disposition ) ; #line 19234 __declspec(dllimport) NTSTATUS __stdcall ZwOpenKey(PHANDLE KeyHandle , ACCESS_MASK DesiredAccess , POBJECT_ATTRIBUTES ObjectAttributes ) ; #line 19243 __declspec(dllimport) NTSTATUS __stdcall ZwDeleteKey(HANDLE KeyHandle ) ; #line 19250 __declspec(dllimport) NTSTATUS __stdcall ZwEnumerateKey(HANDLE KeyHandle , ULONG Index , KEY_INFORMATION_CLASS KeyInformationClass , PVOID KeyInformation , ULONG Length , PULONG ResultLength ) ; #line 19262 __declspec(dllimport) NTSTATUS __stdcall ZwEnumerateValueKey(HANDLE KeyHandle , ULONG Index , KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass , PVOID KeyValueInformation , ULONG Length , PULONG ResultLength ) ; #line 19274 __declspec(dllimport) NTSTATUS __stdcall ZwFlushKey(HANDLE KeyHandle ) ; #line 19281 __declspec(dllimport) NTSTATUS __stdcall ZwQueryKey(HANDLE KeyHandle , KEY_INFORMATION_CLASS KeyInformationClass , PVOID KeyInformation , ULONG Length , PULONG ResultLength ) ; #line 19292 __declspec(dllimport) NTSTATUS __stdcall ZwQueryValueKey(HANDLE KeyHandle , PUNICODE_STRING ValueName , KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass , PVOID KeyValueInformation , ULONG Length , PULONG ResultLength ) ; #line 19304 __declspec(dllimport) NTSTATUS __stdcall ZwSetValueKey(HANDLE KeyHandle , PUNICODE_STRING ValueName , ULONG TitleIndex , ULONG Type , PVOID Data , ULONG DataSize ) ; #line 19316 __declspec(dllimport) NTSTATUS __stdcall ZwOpenSymbolicLinkObject(PHANDLE LinkHandle , ACCESS_MASK DesiredAccess , POBJECT_ATTRIBUTES ObjectAttributes ) ; #line 19325 __declspec(dllimport) NTSTATUS __stdcall ZwQuerySymbolicLinkObject(HANDLE LinkHandle , PUNICODE_STRING LinkTarget , PULONG ReturnedLength ) ; #line 19334 NTSTATUS ZwCreateTimer(PHANDLE TimerHandle , ACCESS_MASK DesiredAccess , POBJECT_ATTRIBUTES ObjectAttributes , TIMER_TYPE TimerType ) ; #line 19342 NTSTATUS ZwOpenTimer(PHANDLE TimerHandle , ACCESS_MASK DesiredAccess , POBJECT_ATTRIBUTES ObjectAttributes ) ; #line 19349 NTSTATUS ZwCancelTimer(HANDLE TimerHandle , PBOOLEAN CurrentState ) ; #line 19355 NTSTATUS ZwSetTimer(HANDLE TimerHandle , PLARGE_INTEGER DueTime , PTIMER_APC_ROUTINE TimerApcRoutine , PVOID TimerContext , BOOLEAN WakeTimer , LONG Period , PBOOLEAN PreviousState ) ; #line 37 "C:/NTDDK/inc/ntddpar.h" extern const GUID GUID_PARALLEL_DEVICE ; extern const GUID GUID_PARCLASS_DEVICE ; #line 96 typedef struct _PAR_QUERY_INFORMATION { UCHAR Status ; } PAR_QUERY_INFORMATION , * PPAR_QUERY_INFORMATION ; typedef struct _PAR_SET_INFORMATION { UCHAR Init ; } PAR_SET_INFORMATION , * PPAR_SET_INFORMATION ; #line 117 typedef struct _PAR_DEVICE_ID_SIZE_INFORMATION { ULONG DeviceIdSize ; } PAR_DEVICE_ID_SIZE_INFORMATION , * PPAR_DEVICE_ID_SIZE_INFORMATION ; #line 128 typedef struct _PARCLASS_NEGOTIATION_MASK { USHORT usReadMask ; USHORT usWriteMask ; } PARCLASS_NEGOTIATION_MASK , * PPARCLASS_NEGOTIATION_MASK ; #line 103 "C:/NTDDK/inc/ddk/parallel.h" typedef struct _PARPORT_REMOVAL_RELATIONS { PDEVICE_OBJECT DeviceObject ; ULONG Flags ; PUNICODE_STRING DeviceName ; } PARPORT_REMOVAL_RELATIONS , * PPARPORT_REMOVAL_RELATIONS ; #line 114 static UCHAR ModeQualifier[7] = {0xAA, 0x55, 0x00, 0xFF, 0x87, 0x78, 0xFF}; #line 117 static UCHAR LegacyZipModeQualifier[3] = {0x00, 0x3c, 0x20}; typedef enum { P12843DL_OFF, P12843DL_DOT3_DL, P12843DL_MLC_DL, P12843DL_DOT4_DL } P12843_DL_MODES ; #line 138 typedef BOOLEAN ( * PPARALLEL_TRY_ALLOCATE_ROUTINE )(PVOID TryAllocateContext ) ; #line 144 typedef void ( * PPARALLEL_FREE_ROUTINE )(PVOID FreeContext ) ; #line 150 typedef ULONG ( * PPARALLEL_QUERY_WAITERS_ROUTINE )(PVOID QueryAllocsContext ) ; #line 156 typedef NTSTATUS ( * PPARALLEL_SET_CHIP_MODE )(PVOID SetChipContext , UCHAR ChipMode ) ; #line 163 typedef NTSTATUS ( * PPARALLEL_CLEAR_CHIP_MODE )(PVOID ClearChipContext , UCHAR ChipMode ) ; #line 170 typedef NTSTATUS ( * PPARALLEL_TRY_SELECT_ROUTINE )(PVOID TrySelectContext , PVOID TrySelectCommand ) ; #line 177 typedef NTSTATUS ( * PPARALLEL_DESELECT_ROUTINE )(PVOID DeselectContext , PVOID DeselectCommand ) ; #line 184 typedef NTSTATUS ( * PPARCHIP_SET_CHIP_MODE )(PVOID SetChipContext , UCHAR ChipMode ) ; #line 191 typedef NTSTATUS ( * PPARCHIP_CLEAR_CHIP_MODE )(PVOID ClearChipContext , UCHAR ChipMode ) ; #line 213 typedef struct _PARALLEL_PARCHIP_INFO { PUCHAR Controller ; PUCHAR EcrController ; ULONG HardwareModes ; PPARCHIP_SET_CHIP_MODE ParChipSetMode ; PPARCHIP_CLEAR_CHIP_MODE ParChipClearMode ; PVOID Context ; BOOLEAN success ; } PARALLEL_PARCHIP_INFO , * PPARALLEL_PARCHIP_INFO ; #line 226 typedef struct _PARALLEL_PORT_INFORMATION { PHYSICAL_ADDRESS OriginalController ; PUCHAR Controller ; ULONG SpanOfController ; PPARALLEL_TRY_ALLOCATE_ROUTINE TryAllocatePort ; PPARALLEL_FREE_ROUTINE FreePort ; PPARALLEL_QUERY_WAITERS_ROUTINE QueryNumWaiters ; PVOID Context ; } PARALLEL_PORT_INFORMATION , * PPARALLEL_PORT_INFORMATION ; typedef struct _PARALLEL_PNP_INFORMATION { PHYSICAL_ADDRESS OriginalEcpController ; PUCHAR EcpController ; ULONG SpanOfEcpController ; ULONG PortNumber ; ULONG HardwareCapabilities ; PPARALLEL_SET_CHIP_MODE TrySetChipMode ; PPARALLEL_CLEAR_CHIP_MODE ClearChipMode ; ULONG FifoDepth ; ULONG FifoWidth ; PHYSICAL_ADDRESS EppControllerPhysicalAddress ; ULONG SpanOfEppController ; ULONG Ieee1284_3DeviceCount ; PPARALLEL_TRY_SELECT_ROUTINE TrySelectDevice ; PPARALLEL_DESELECT_ROUTINE DeselectDevice ; PVOID Context ; ULONG CurrentMode ; PWSTR PortName ; } PARALLEL_PNP_INFORMATION , * PPARALLEL_PNP_INFORMATION ; #line 298 typedef struct _PARALLEL_1284_COMMAND { UCHAR ID ; UCHAR Port ; ULONG CommandFlags ; } PARALLEL_1284_COMMAND , * PPARALLEL_1284_COMMAND ; #line 320 typedef struct _PARALLEL_CHIP_MODE { UCHAR ModeFlags ; BOOLEAN success ; } PARALLEL_CHIP_MODE , * PPARALLEL_CHIP_MODE ; #line 333 typedef void ( * PPARALLEL_DEFERRED_ROUTINE )(PVOID DeferredContext ) ; #line 339 typedef struct _PARALLEL_INTERRUPT_SERVICE_ROUTINE { PKSERVICE_ROUTINE InterruptServiceRoutine ; PVOID InterruptServiceContext ; PPARALLEL_DEFERRED_ROUTINE DeferredPortCheckRoutine ; PVOID DeferredPortCheckContext ; } PARALLEL_INTERRUPT_SERVICE_ROUTINE , * PPARALLEL_INTERRUPT_SERVICE_ROUTINE ; #line 351 typedef struct _PARALLEL_INTERRUPT_INFORMATION { PKINTERRUPT InterruptObject ; PPARALLEL_TRY_ALLOCATE_ROUTINE TryAllocatePortAtInterruptLevel ; PPARALLEL_FREE_ROUTINE FreePortFromInterruptLevel ; PVOID Context ; } PARALLEL_INTERRUPT_INFORMATION , * PPARALLEL_INTERRUPT_INFORMATION ; #line 363 typedef struct _MORE_PARALLEL_PORT_INFORMATION { INTERFACE_TYPE InterfaceType ; ULONG BusNumber ; ULONG InterruptLevel ; ULONG InterruptVector ; KAFFINITY InterruptAffinity ; KINTERRUPT_MODE InterruptMode ; } MORE_PARALLEL_PORT_INFORMATION , * PMORE_PARALLEL_PORT_INFORMATION ; typedef enum { SAFE_MODE, UNSAFE_MODE } PARALLEL_SAFETY ; #line 384 typedef USHORT ( * PDETERMINE_IEEE_MODES )(PVOID Context ) ; #line 400 typedef NTSTATUS ( * PNEGOTIATE_IEEE_MODE )(PVOID Context , USHORT ModeMaskFwd , USHORT ModeMaskRev , PARALLEL_SAFETY ModeSafety , BOOLEAN IsForward ) ; #line 411 typedef NTSTATUS ( * PTERMINATE_IEEE_MODE )(PVOID Context ) ; #line 417 typedef NTSTATUS ( * PPARALLEL_IEEE_FWD_TO_REV )(PVOID Context ) ; #line 423 typedef NTSTATUS ( * PPARALLEL_IEEE_REV_TO_FWD )(PVOID Context ) ; #line 429 typedef NTSTATUS ( * PPARALLEL_READ )(PVOID Context , PVOID Buffer , ULONG NumBytesToRead , PULONG NumBytesRead , UCHAR Channel ) ; #line 439 typedef NTSTATUS ( * PPARALLEL_WRITE )(PVOID Context , PVOID Buffer , ULONG NumBytesToWrite , PULONG NumBytesWritten , UCHAR Channel ) ; #line 449 typedef NTSTATUS ( * PPARALLEL_TRYSELECT_DEVICE )(PVOID Context , PARALLEL_1284_COMMAND Command ) ; #line 456 typedef NTSTATUS ( * PPARALLEL_DESELECT_DEVICE )(PVOID Context , PARALLEL_1284_COMMAND Command ) ; #line 463 typedef struct _PARCLASS_INFORMATION { PUCHAR Controller ; PUCHAR EcrController ; ULONG SpanOfController ; PDETERMINE_IEEE_MODES DetermineIeeeModes ; PNEGOTIATE_IEEE_MODE NegotiateIeeeMode ; PTERMINATE_IEEE_MODE TerminateIeeeMode ; PPARALLEL_IEEE_FWD_TO_REV IeeeFwdToRevMode ; PPARALLEL_IEEE_REV_TO_FWD IeeeRevToFwdMode ; PPARALLEL_READ ParallelRead ; PPARALLEL_WRITE ParallelWrite ; PVOID ParclassContext ; ULONG HardwareCapabilities ; ULONG FifoDepth ; ULONG FifoWidth ; PPARALLEL_TRYSELECT_DEVICE ParallelTryselect ; PPARALLEL_DESELECT_DEVICE ParallelDeSelect ; } PARCLASS_INFORMATION , * PPARCLASS_INFORMATION ; #line 719 typedef enum { PHASE_UNKNOWN, PHASE_NEGOTIATION, PHASE_SETUP, PHASE_FORWARD_IDLE, PHASE_FORWARD_XFER, PHASE_FWD_TO_REV, PHASE_REVERSE_IDLE, PHASE_REVERSE_XFER, PHASE_REV_TO_FWD, PHASE_TERMINATE, PHASE_DATA_AVAILABLE, PHASE_DATA_NOT_AVAIL, PHASE_INTERRUPT_HOST } P1284_PHASE ; typedef enum { HW_MODE_COMPATIBILITY, HW_MODE_PS2, HW_MODE_FAST_CENTRONICS, HW_MODE_ECP, HW_MODE_EPP, HW_MODE_RESERVED, HW_MODE_TEST, HW_MODE_CONFIGURATION } P1284_HW_MODE ; #line 28 "C:/NTDDK/inc/ddk/wdm/wmilib.h" #pragma once #line 38 typedef struct { LPCGUID Guid ; ULONG InstanceCount ; ULONG Flags ; } WMIGUIDREGINFO , * PWMIGUIDREGINFO ; #line 45 typedef NTSTATUS ( * PWMI_QUERY_REGINFO )(PDEVICE_OBJECT DeviceObject , PULONG RegFlags , PUNICODE_STRING InstanceName , PUNICODE_STRING * RegistryPath , PUNICODE_STRING MofResourceName , PDEVICE_OBJECT * Pdo ) ; #line 101 typedef NTSTATUS ( * PWMI_QUERY_DATABLOCK )(PDEVICE_OBJECT DeviceObject , PIRP Irp , ULONG GuidIndex , ULONG InstanceIndex , ULONG InstanceCount , PULONG InstanceLengthArray , ULONG BufferAvail , PUCHAR Buffer ) ; #line 162 typedef NTSTATUS ( * PWMI_SET_DATABLOCK )(PDEVICE_OBJECT DeviceObject , PIRP Irp , ULONG GuidIndex , ULONG InstanceIndex , ULONG BufferSize , PUCHAR Buffer ) ; #line 206 typedef NTSTATUS ( * PWMI_SET_DATAITEM )(PDEVICE_OBJECT DeviceObject , PIRP Irp , ULONG GuidIndex , ULONG InstanceIndex , ULONG DataItemId , ULONG BufferSize , PUCHAR Buffer ) ; #line 253 typedef NTSTATUS ( * PWMI_EXECUTE_METHOD )(PDEVICE_OBJECT DeviceObject , PIRP Irp , ULONG GuidIndex , ULONG InstanceIndex , ULONG MethodId , ULONG InBufferSize , ULONG OutBufferSize , PUCHAR Buffer ) ; #line 306 typedef enum { WmiEventControl, WmiDataBlockControl } WMIENABLEDISABLECONTROL ; #line 312 typedef NTSTATUS ( * PWMI_FUNCTION_CONTROL )(PDEVICE_OBJECT DeviceObject , PIRP Irp , ULONG GuidIndex , WMIENABLEDISABLECONTROL Function , BOOLEAN Enable ) ; #line 355 typedef struct _WMILIB_CONTEXT { ULONG GuidCount ; PWMIGUIDREGINFO GuidList ; PWMI_QUERY_REGINFO QueryWmiRegInfo ; PWMI_QUERY_DATABLOCK QueryWmiDataBlock ; PWMI_SET_DATABLOCK SetWmiDataBlock ; PWMI_SET_DATAITEM SetWmiDataItem ; PWMI_EXECUTE_METHOD ExecuteWmiMethod ; PWMI_FUNCTION_CONTROL WmiFunctionControl ; } WMILIB_CONTEXT , * PWMILIB_CONTEXT ; #line 372 NTSTATUS WmiCompleteRequest(PDEVICE_OBJECT DeviceObject , PIRP Irp , NTSTATUS Status , ULONG BufferUsed , CCHAR PriorityBoost ) ; #line 411 typedef enum { IrpProcessed, IrpNotCompleted, IrpNotWmi, IrpForward } SYSCTL_IRP_DISPOSITION , * PSYSCTL_IRP_DISPOSITION ; #line 420 NTSTATUS WmiSystemControl(PWMILIB_CONTEXT WmiLibInfo , PDEVICE_OBJECT DeviceObject , PIRP Irp , PSYSCTL_IRP_DISPOSITION IrpDisposition ) ; #line 453 NTSTATUS WmiFireEvent(PDEVICE_OBJECT DeviceObject , LPGUID Guid , ULONG InstanceIndex , ULONG EventDataSize , PVOID EventData ) ; #line 10 "C:/NTDDK/inc/wmidata.h" extern const GUID MSWmi_MofData_GUID ; #line 13 typedef struct _MSWmi_MofData { ULONG Unused1 ; ULONG Unused2 ; ULONG Size ; ULONG Unused4 ; UCHAR BinaryMofData[1] ; } MSWmi_MofData , * PMSWmi_MofData ; #line 47 extern const GUID MSWmi_ProviderInfo_GUID ; #line 51 typedef struct _MSWmi_ProviderInfo { char VariableData[1] ; } MSWmi_ProviderInfo , * PMSWmi_ProviderInfo ; #line 63 extern const GUID MSWmi_PnPDeviceId_GUID ; #line 66 typedef struct _MSWmi_PnPDeviceId { CHAR VariableData[1] ; } MSWmi_PnPDeviceId , * PMSWmi_PnPDeviceId ; #line 80 extern const GUID MSWmi_PnPInstanceNames_GUID ; #line 83 typedef struct _MSWmi_PnPInstanceNames { ULONG Count ; WCHAR InstanceNameList[1] ; } MSWmi_PnPInstanceNames , * PMSWmi_PnPInstanceNames ; #line 102 extern const GUID MSSmBios_RawSMBiosTables_GUID ; #line 105 typedef struct _MSSmBios_RawSMBiosTables { BOOLEAN Used20CallingMethod ; UCHAR SmbiosMajorVersion ; UCHAR SmbiosMinorVersion ; UCHAR DmiRevision ; ULONG Size ; UCHAR SMBiosData[1] ; } MSSmBios_RawSMBiosTables , * PMSSmBios_RawSMBiosTables ; #line 144 extern const GUID MSPower_DeviceEnable_GUID ; #line 147 typedef struct _MSPower_DeviceEnable { BOOLEAN Enable ; } MSPower_DeviceEnable , * PMSPower_DeviceEnable ; #line 162 extern const GUID MSPower_DeviceWakeEnable_GUID ; #line 165 typedef struct _MSPower_DeviceWakeEnable { BOOLEAN Enable ; } MSPower_DeviceWakeEnable , * PMSPower_DeviceWakeEnable ; #line 179 extern const GUID MSNdis_NetworkAddress_GUID ; #line 182 typedef struct _MSNdis_NetworkAddress { UCHAR Address[6] ; } MSNdis_NetworkAddress , * PMSNdis_NetworkAddress ; #line 196 extern const GUID MSNdis_NetworkShortAddress_GUID ; #line 199 typedef struct _MSNdis_NetworkShortAddress { UCHAR Address[2] ; } MSNdis_NetworkShortAddress , * PMSNdis_NetworkShortAddress ; #line 213 extern const GUID MSNdis_NetworkLinkSpeed_GUID ; #line 216 typedef struct _MSNdis_NetworkLinkSpeed { ULONG Outbound ; ULONG Inbound ; } MSNdis_NetworkLinkSpeed , * PMSNdis_NetworkLinkSpeed ; #line 236 extern const GUID MSNdis_EnumerateAdapter_GUID ; #line 239 typedef struct _MSNdis_EnumerateAdapter { CHAR VariableData[1] ; } MSNdis_EnumerateAdapter , * PMSNdis_EnumerateAdapter ; #line 253 extern const GUID MSNdis_NotifyAdapterRemoval_GUID ; #line 256 typedef struct _MSNdis_NotifyAdapterRemoval { CHAR VariableData[1] ; } MSNdis_NotifyAdapterRemoval , * PMSNdis_NotifyAdapterRemoval ; #line 270 extern const GUID MSNdis_NotifyAdapterArrival_GUID ; #line 273 typedef struct _MSNdis_NotifyAdapterArrival { CHAR VariableData[1] ; } MSNdis_NotifyAdapterArrival , * PMSNdis_NotifyAdapterArrival ; #line 287 extern const GUID MSNdis_NdisEnumerateVc_GUID ; #line 291 typedef struct _MSNdis_NdisEnumerateVc { char VariableData[1] ; } MSNdis_NdisEnumerateVc , * PMSNdis_NdisEnumerateVc ; #line 303 extern const GUID MSNdis_NotifyVcRemoval_GUID ; #line 307 typedef struct _MSNdis_NotifyVcRemoval { char VariableData[1] ; } MSNdis_NotifyVcRemoval , * PMSNdis_NotifyVcRemoval ; #line 319 extern const GUID MSNdis_NotifyVcArrival_GUID ; #line 323 typedef struct _MSNdis_NotifyVcArrival { char VariableData[1] ; } MSNdis_NotifyVcArrival , * PMSNdis_NotifyVcArrival ; #line 335 extern const GUID MSNdis_HardwareStatus_GUID ; #line 338 typedef struct _MSNdis_HardwareStatus { ULONG NdisHardwareStatus ; } MSNdis_HardwareStatus , * PMSNdis_HardwareStatus ; #line 353 extern const GUID MSNdis_MediaSupported_GUID ; #line 356 typedef struct _MSNdis_MediaSupported { ULONG NumberElements ; ULONG NdisMediaSupported[1] ; } MSNdis_MediaSupported , * PMSNdis_MediaSupported ; #line 375 extern const GUID MSNdis_MediaInUse_GUID ; #line 378 typedef struct _MSNdis_MediaInUse { ULONG NumberElements ; ULONG NdisMediaInUse[1] ; } MSNdis_MediaInUse , * PMSNdis_MediaInUse ; #line 397 extern const GUID MSNdis_MaximumLookahead_GUID ; #line 400 typedef struct _MSNdis_MaximumLookahead { ULONG NdisMaximumLookahead ; } MSNdis_MaximumLookahead , * PMSNdis_MaximumLookahead ; #line 415 extern const GUID MSNdis_MaximumFrameSize_GUID ; #line 418 typedef struct _MSNdis_MaximumFrameSize { ULONG NdisMaximumFrameSize ; } MSNdis_MaximumFrameSize , * PMSNdis_MaximumFrameSize ; #line 433 extern const GUID MSNdis_LinkSpeed_GUID ; #line 436 typedef struct _MSNdis_LinkSpeed { ULONG NdisLinkSpeed ; } MSNdis_LinkSpeed , * PMSNdis_LinkSpeed ; #line 451 extern const GUID MSNdis_TransmitBufferSpace_GUID ; #line 454 typedef struct _MSNdis_TransmitBufferSpace { ULONG NdisTransmitBufferSpace ; } MSNdis_TransmitBufferSpace , * PMSNdis_TransmitBufferSpace ; #line 469 extern const GUID MSNdis_ReceiveBufferSpace_GUID ; #line 472 typedef struct _MSNdis_ReceiveBufferSpace { ULONG NdisReceiveBufferSpace ; } MSNdis_ReceiveBufferSpace , * PMSNdis_ReceiveBufferSpace ; #line 487 extern const GUID MSNdis_TransmitBlockSize_GUID ; #line 490 typedef struct _MSNdis_TransmitBlockSize { ULONG NdisTransmitBlockSize ; } MSNdis_TransmitBlockSize , * PMSNdis_TransmitBlockSize ; #line 505 extern const GUID MSNdis_ReceiveBlockSize_GUID ; #line 508 typedef struct _MSNdis_ReceiveBlockSize { ULONG NdisReceiveBlockSize ; } MSNdis_ReceiveBlockSize , * PMSNdis_ReceiveBlockSize ; #line 523 extern const GUID MSNdis_VendorID_GUID ; #line 526 typedef struct _MSNdis_VendorID { ULONG NdisVendorID ; } MSNdis_VendorID , * PMSNdis_VendorID ; #line 541 extern const GUID MSNdis_VendorDescription_GUID ; #line 544 typedef struct _MSNdis_VendorDescription { CHAR VariableData[1] ; } MSNdis_VendorDescription , * PMSNdis_VendorDescription ; #line 558 extern const GUID MSNdis_CurrentPacketFilter_GUID ; #line 561 typedef struct _MSNdis_CurrentPacketFilter { ULONG NdisCurrentPacketFilter ; } MSNdis_CurrentPacketFilter , * PMSNdis_CurrentPacketFilter ; #line 576 extern const GUID MSNdis_CurrentLookahead_GUID ; #line 579 typedef struct _MSNdis_CurrentLookahead { ULONG NdisCurrentLookahead ; } MSNdis_CurrentLookahead , * PMSNdis_CurrentLookahead ; #line 594 extern const GUID MSNdis_DriverVersion_GUID ; #line 597 typedef struct _MSNdis_DriverVersion { USHORT NdisDriverVersion ; } MSNdis_DriverVersion , * PMSNdis_DriverVersion ; #line 612 extern const GUID MSNdis_MaximumTotalSize_GUID ; #line 615 typedef struct _MSNdis_MaximumTotalSize { ULONG NdisMaximumTotalSize ; } MSNdis_MaximumTotalSize , * PMSNdis_MaximumTotalSize ; #line 630 extern const GUID MSNdis_MacOptions_GUID ; #line 633 typedef struct _MSNdis_MacOptions { ULONG NdisMacOptions ; } MSNdis_MacOptions , * PMSNdis_MacOptions ; #line 648 extern const GUID MSNdis_MediaConnectStatus_GUID ; #line 651 typedef struct _MSNdis_MediaConnectStatus { ULONG NdisMediaConnectStatus ; } MSNdis_MediaConnectStatus , * PMSNdis_MediaConnectStatus ; #line 666 extern const GUID MSNdis_MaximumSendPackets_GUID ; #line 669 typedef struct _MSNdis_MaximumSendPackets { ULONG NdisMaximumSendPackets ; } MSNdis_MaximumSendPackets , * PMSNdis_MaximumSendPackets ; #line 684 extern const GUID MSNdis_VendorDriverVersion_GUID ; #line 687 typedef struct _MSNdis_VendorDriverVersion { ULONG NdisVendorDriverVersion ; } MSNdis_VendorDriverVersion , * PMSNdis_VendorDriverVersion ; #line 702 extern const GUID MSNdis_TransmitsOk_GUID ; #line 705 typedef struct _MSNdis_TransmitsOk { ULONG NdisTransmitsOk ; } MSNdis_TransmitsOk , * PMSNdis_TransmitsOk ; #line 720 extern const GUID MSNdis_ReceivesOk_GUID ; #line 723 typedef struct _MSNdis_ReceivesOk { ULONG NdisReceivesOk ; } MSNdis_ReceivesOk , * PMSNdis_ReceivesOk ; #line 738 extern const GUID MSNdis_TransmitsError_GUID ; #line 741 typedef struct _MSNdis_TransmitsError { ULONG NdisTransmitsError ; } MSNdis_TransmitsError , * PMSNdis_TransmitsError ; #line 756 extern const GUID MSNdis_ReceiveError_GUID ; #line 759 typedef struct _MSNdis_ReceiveError { ULONG NdisReceiveError ; } MSNdis_ReceiveError , * PMSNdis_ReceiveError ; #line 774 extern const GUID MSNdis_ReceiveNoBuffer_GUID ; #line 777 typedef struct _MSNdis_ReceiveNoBuffer { ULONG NdisReceiveNoBuffer ; } MSNdis_ReceiveNoBuffer , * PMSNdis_ReceiveNoBuffer ; #line 792 extern const GUID MSNdis_CoHardwareStatus_GUID ; #line 795 typedef struct _MSNdis_CoHardwareStatus { ULONG NdisCoHardwareStatus ; } MSNdis_CoHardwareStatus , * PMSNdis_CoHardwareStatus ; #line 810 extern const GUID MSNdis_CoMediaSupported_GUID ; #line 813 typedef struct _MSNdis_CoMediaSupported { ULONG NumberElements ; ULONG NdisCoMediaSupported[1] ; } MSNdis_CoMediaSupported , * PMSNdis_CoMediaSupported ; #line 832 extern const GUID MSNdis_CoMediaInUse_GUID ; #line 835 typedef struct _MSNdis_CoMediaInUse { ULONG NumberElements ; ULONG NdisCoMediaInUse[1] ; } MSNdis_CoMediaInUse , * PMSNdis_CoMediaInUse ; #line 854 extern const GUID MSNdis_CoLinkSpeed_GUID ; #line 857 typedef struct _MSNdis_CoLinkSpeed { MSNdis_NetworkLinkSpeed NdisCoLinkSpeed ; } MSNdis_CoLinkSpeed , * PMSNdis_CoLinkSpeed ; #line 872 extern const GUID MSNdis_CoVendorId_GUID ; #line 875 typedef struct _MSNdis_CoVendorId { ULONG NdisCoVendorID ; } MSNdis_CoVendorId , * PMSNdis_CoVendorId ; #line 890 extern const GUID MSNdis_CoVendorDescription_GUID ; #line 893 typedef struct _MSNdis_CoVendorDescription { CHAR VariableData[1] ; } MSNdis_CoVendorDescription , * PMSNdis_CoVendorDescription ; #line 907 extern const GUID MSNdis_CoDriverVersion_GUID ; #line 910 typedef struct _MSNdis_CoDriverVersion { USHORT NdisCoDriverVersion ; } MSNdis_CoDriverVersion , * PMSNdis_CoDriverVersion ; #line 925 extern const GUID MSNdis_CoMacOptions_GUID ; #line 928 typedef struct _MSNdis_CoMacOptions { ULONG NdisCoMacOptions ; } MSNdis_CoMacOptions , * PMSNdis_CoMacOptions ; #line 943 extern const GUID MSNdis_CoMediaConnectStatus_GUID ; #line 946 typedef struct _MSNdis_CoMediaConnectStatus { ULONG NdisCoMediaConnectStatus ; } MSNdis_CoMediaConnectStatus , * PMSNdis_CoMediaConnectStatus ; #line 961 extern const GUID MSNdis_CoVendorDriverVersion_GUID ; #line 964 typedef struct _MSNdis_CoVendorDriverVersion { ULONG NdisCoVendorDriverVersion ; } MSNdis_CoVendorDriverVersion , * PMSNdis_CoVendorDriverVersion ; #line 979 extern const GUID MSNdis_CoMinimumLinkSpeed_GUID ; #line 982 typedef struct _MSNdis_CoMinimumLinkSpeed { MSNdis_NetworkLinkSpeed NdisCoMinimumLinkSpeed ; } MSNdis_CoMinimumLinkSpeed , * PMSNdis_CoMinimumLinkSpeed ; #line 997 extern const GUID MSNdis_CoTransmitPdusOk_GUID ; #line 1000 typedef struct _MSNdis_CoTransmitPdusOk { ULONG NdisCoTransmitPdusOk ; } MSNdis_CoTransmitPdusOk , * PMSNdis_CoTransmitPdusOk ; #line 1015 extern const GUID MSNdis_CoReceivePdusOk_GUID ; #line 1018 typedef struct _MSNdis_CoReceivePdusOk { ULONG NdisCoReceivePdusOk ; } MSNdis_CoReceivePdusOk , * PMSNdis_CoReceivePdusOk ; #line 1033 extern const GUID MSNdis_CoTransmitPduErrors_GUID ; #line 1036 typedef struct _MSNdis_CoTransmitPduErrors { ULONG NdisCoTransmitPduErrors ; } MSNdis_CoTransmitPduErrors , * PMSNdis_CoTransmitPduErrors ; #line 1051 extern const GUID MSNdis_CoReceivePduErrors_GUID ; #line 1054 typedef struct _MSNdis_CoReceivePduErrors { ULONG NdisCoReceivePduErrors ; } MSNdis_CoReceivePduErrors , * PMSNdis_CoReceivePduErrors ; #line 1069 extern const GUID MSNdis_CoReceivePdusNoBuffer_GUID ; #line 1072 typedef struct _MSNdis_CoReceivePdusNoBuffer { ULONG NdisCoReceivePdusNoBuffer ; } MSNdis_CoReceivePdusNoBuffer , * PMSNdis_CoReceivePdusNoBuffer ; #line 1087 extern const GUID MSNdis_AtmSupportedVcRates_GUID ; #line 1090 typedef struct _MSNdis_AtmSupportedVcRates { ULONG MinCellRate ; ULONG MaxCellRate ; } MSNdis_AtmSupportedVcRates , * PMSNdis_AtmSupportedVcRates ; #line 1110 extern const GUID MSNdis_AtmSupportedServiceCategory_GUID ; #line 1113 typedef struct _MSNdis_AtmSupportedServiceCategory { ULONG NdisAtmSupportedServiceCategory ; } MSNdis_AtmSupportedServiceCategory , * PMSNdis_AtmSupportedServiceCategory ; #line 1128 extern const GUID MSNdis_AtmSupportedAalTypes_GUID ; #line 1131 typedef struct _MSNdis_AtmSupportedAalTypes { ULONG NdisAtmSupportedAalTypes ; } MSNdis_AtmSupportedAalTypes , * PMSNdis_AtmSupportedAalTypes ; #line 1146 extern const GUID MSNdis_AtmHardwareCurrentAddress_GUID ; #line 1149 typedef struct _MSNdis_AtmHardwareCurrentAddress { MSNdis_NetworkAddress NdisAtmHardwareCurrentAddress ; } MSNdis_AtmHardwareCurrentAddress , * PMSNdis_AtmHardwareCurrentAddress ; #line 1164 extern const GUID MSNdis_AtmMaxActiveVcs_GUID ; #line 1167 typedef struct _MSNdis_AtmMaxActiveVcs { ULONG NdisAtmMaxActiveVcs ; } MSNdis_AtmMaxActiveVcs , * PMSNdis_AtmMaxActiveVcs ; #line 1182 extern const GUID MSNdis_AtmMaxActiveVciBits_GUID ; #line 1185 typedef struct _MSNdis_AtmMaxActiveVciBits { ULONG NdisAtmMaxActiveVciBits ; } MSNdis_AtmMaxActiveVciBits , * PMSNdis_AtmMaxActiveVciBits ; #line 1200 extern const GUID MSNdis_AtmMaxActiveVpiBits_GUID ; #line 1203 typedef struct _MSNdis_AtmMaxActiveVpiBits { ULONG NdisAtmMaxActiveVpiBits ; } MSNdis_AtmMaxActiveVpiBits , * PMSNdis_AtmMaxActiveVpiBits ; #line 1218 extern const GUID MSNdis_AtmMaxAal0PacketSize_GUID ; #line 1221 typedef struct _MSNdis_AtmMaxAal0PacketSize { ULONG NdisAtmMaxAal0PacketSize ; } MSNdis_AtmMaxAal0PacketSize , * PMSNdis_AtmMaxAal0PacketSize ; #line 1236 extern const GUID MSNdis_AtmMaxAal1PacketSize_GUID ; #line 1239 typedef struct _MSNdis_AtmMaxAal1PacketSize { ULONG NdisAtmMaxAal1PacketSize ; } MSNdis_AtmMaxAal1PacketSize , * PMSNdis_AtmMaxAal1PacketSize ; #line 1254 extern const GUID MSNdis_AtmMaxAal34PacketSize_GUID ; #line 1257 typedef struct _MSNdis_AtmMaxAal34PacketSize { ULONG NdisAtmMaxAal34PacketSize ; } MSNdis_AtmMaxAal34PacketSize , * PMSNdis_AtmMaxAal34PacketSize ; #line 1272 extern const GUID MSNdis_AtmMaxAal5PacketSize_GUID ; #line 1275 typedef struct _MSNdis_AtmMaxAal5PacketSize { ULONG NdisAtmMaxAal5PacketSize ; } MSNdis_AtmMaxAal5PacketSize , * PMSNdis_AtmMaxAal5PacketSize ; #line 1290 extern const GUID MSNdis_AtmReceiveCellsOk_GUID ; #line 1293 typedef struct _MSNdis_AtmReceiveCellsOk { ULONGLONG NdisAtmReceiveCellsOk ; } MSNdis_AtmReceiveCellsOk , * PMSNdis_AtmReceiveCellsOk ; #line 1308 extern const GUID MSNdis_AtmTransmitCellsOk_GUID ; #line 1311 typedef struct _MSNdis_AtmTransmitCellsOk { ULONGLONG NdisAtmTransmitCellsOk ; } MSNdis_AtmTransmitCellsOk , * PMSNdis_AtmTransmitCellsOk ; #line 1326 extern const GUID MSNdis_AtmReceiveCellsDropped_GUID ; #line 1329 typedef struct _MSNdis_AtmReceiveCellsDropped { ULONGLONG NdisAtmReceiveCellsDropped ; } MSNdis_AtmReceiveCellsDropped , * PMSNdis_AtmReceiveCellsDropped ; #line 1344 extern const GUID MSNdis_EthernetPermanentAddress_GUID ; #line 1347 typedef struct _MSNdis_EthernetPermanentAddress { MSNdis_NetworkAddress NdisPermanentAddress ; } MSNdis_EthernetPermanentAddress , * PMSNdis_EthernetPermanentAddress ; #line 1362 extern const GUID MSNdis_EthernetCurrentAddress_GUID ; #line 1365 typedef struct _MSNdis_EthernetCurrentAddress { MSNdis_NetworkAddress NdisCurrentAddress ; } MSNdis_EthernetCurrentAddress , * PMSNdis_EthernetCurrentAddress ; #line 1380 extern const GUID MSNdis_EthernetMulticastList_GUID ; #line 1383 typedef struct _MSNdis_EthernetMulticastList { ULONG NumberElements ; MSNdis_NetworkAddress NdisMulticastList[1] ; } MSNdis_EthernetMulticastList , * PMSNdis_EthernetMulticastList ; #line 1402 extern const GUID MSNdis_EthernetMaximumMulticastListSize_GUID ; #line 1405 typedef struct _MSNdis_EthernetMaximumMulticastListSize { ULONG NdisEthernetMaximumMulticastListSize ; } MSNdis_EthernetMaximumMulticastListSize , * PMSNdis_EthernetMaximumMulticastListSize ; #line 1420 extern const GUID MSNdis_EthernetMacOptions_GUID ; #line 1423 typedef struct _MSNdis_EthernetMacOptions { ULONG NdisEthernetMacOptions ; } MSNdis_EthernetMacOptions , * PMSNdis_EthernetMacOptions ; #line 1438 extern const GUID MSNdis_EthernetReceiveErrorAlignment_GUID ; #line 1441 typedef struct _MSNdis_EthernetReceiveErrorAlignment { ULONG NdisEthernetReceiveErrorAlignment ; } MSNdis_EthernetReceiveErrorAlignment , * PMSNdis_EthernetReceiveErrorAlignment ; #line 1456 extern const GUID MSNdis_EthernetOneTransmitCollision_GUID ; #line 1459 typedef struct _MSNdis_EthernetOneTransmitCollision { ULONG NdisEthernetOneTransmitCollision ; } MSNdis_EthernetOneTransmitCollision , * PMSNdis_EthernetOneTransmitCollision ; #line 1474 extern const GUID MSNdis_EthernetMoreTransmitCollisions_GUID ; #line 1477 typedef struct _MSNdis_EthernetMoreTransmitCollisions { ULONG NdisEthernetMoreTransmitCollisions ; } MSNdis_EthernetMoreTransmitCollisions , * PMSNdis_EthernetMoreTransmitCollisions ; #line 1492 extern const GUID MSNdis_TokenRingPermanentAddress_GUID ; #line 1495 typedef struct _MSNdis_TokenRingPermanentAddress { MSNdis_NetworkAddress NdisPermanentAddress ; } MSNdis_TokenRingPermanentAddress , * PMSNdis_TokenRingPermanentAddress ; #line 1510 extern const GUID MSNdis_TokenRingCurrentAddress_GUID ; #line 1513 typedef struct _MSNdis_TokenRingCurrentAddress { MSNdis_NetworkAddress NdisCurrentAddress ; } MSNdis_TokenRingCurrentAddress , * PMSNdis_TokenRingCurrentAddress ; #line 1528 extern const GUID MSNdis_TokenRingCurrentFunctional_GUID ; #line 1531 typedef struct _MSNdis_TokenRingCurrentFunctional { ULONG NdisTokenRingCurrentFunctional ; } MSNdis_TokenRingCurrentFunctional , * PMSNdis_TokenRingCurrentFunctional ; #line 1546 extern const GUID MSNdis_TokenRingCurrentGroup_GUID ; #line 1549 typedef struct _MSNdis_TokenRingCurrentGroup { ULONG NdisTokenRingCurrentGroup ; } MSNdis_TokenRingCurrentGroup , * PMSNdis_TokenRingCurrentGroup ; #line 1564 extern const GUID MSNdis_TokenRingLastOpenStatus_GUID ; #line 1567 typedef struct _MSNdis_TokenRingLastOpenStatus { ULONG NdisTokenRingLastOpenStatus ; } MSNdis_TokenRingLastOpenStatus , * PMSNdis_TokenRingLastOpenStatus ; #line 1582 extern const GUID MSNdis_TokenRingCurrentRingStatus_GUID ; #line 1585 typedef struct _MSNdis_TokenRingCurrentRingStatus { ULONG NdisTokenRingCurrentRingStatus ; } MSNdis_TokenRingCurrentRingStatus , * PMSNdis_TokenRingCurrentRingStatus ; #line 1600 extern const GUID MSNdis_TokenRingCurrentRingState_GUID ; #line 1603 typedef struct _MSNdis_TokenRingCurrentRingState { ULONG NdisTokenRingCurrentRingState ; } MSNdis_TokenRingCurrentRingState , * PMSNdis_TokenRingCurrentRingState ; #line 1618 extern const GUID MSNdis_TokenRingLineErrors_GUID ; #line 1621 typedef struct _MSNdis_TokenRingLineErrors { ULONG NdisTokenRingLineErrors ; } MSNdis_TokenRingLineErrors , * PMSNdis_TokenRingLineErrors ; #line 1636 extern const GUID MSNdis_TokenRingLostFrames_GUID ; #line 1639 typedef struct _MSNdis_TokenRingLostFrames { ULONG NdisTokenRingLostFrames ; } MSNdis_TokenRingLostFrames , * PMSNdis_TokenRingLostFrames ; #line 1654 extern const GUID MSNdis_FddiLongPermanentAddress_GUID ; #line 1657 typedef struct _MSNdis_FddiLongPermanentAddress { MSNdis_NetworkAddress NdisPermanentAddress ; } MSNdis_FddiLongPermanentAddress , * PMSNdis_FddiLongPermanentAddress ; #line 1672 extern const GUID MSNdis_FddiLongCurrentAddress_GUID ; #line 1675 typedef struct _MSNdis_FddiLongCurrentAddress { MSNdis_NetworkAddress NdisCurrentAddress ; } MSNdis_FddiLongCurrentAddress , * PMSNdis_FddiLongCurrentAddress ; #line 1690 extern const GUID MSNdis_FddiLongMulticastList_GUID ; #line 1693 typedef struct _MSNdis_FddiLongMulticastList { ULONG NumberElements ; MSNdis_NetworkAddress NdisMulticastList[1] ; } MSNdis_FddiLongMulticastList , * PMSNdis_FddiLongMulticastList ; #line 1712 extern const GUID MSNdis_FddiLongMaximumListSize_GUID ; #line 1715 typedef struct _MSNdis_FddiLongMaximumListSize { ULONG NdisFddiLongMaximumListSize ; } MSNdis_FddiLongMaximumListSize , * PMSNdis_FddiLongMaximumListSize ; #line 1730 extern const GUID MSNdis_FddiShortPermanentAddress_GUID ; #line 1733 typedef struct _MSNdis_FddiShortPermanentAddress { MSNdis_NetworkShortAddress NdisPermanentAddress ; } MSNdis_FddiShortPermanentAddress , * PMSNdis_FddiShortPermanentAddress ; #line 1748 extern const GUID MSNdis_FddiShortCurrentAddress_GUID ; #line 1751 typedef struct _MSNdis_FddiShortCurrentAddress { MSNdis_NetworkShortAddress NdisCurrentAddress ; } MSNdis_FddiShortCurrentAddress , * PMSNdis_FddiShortCurrentAddress ; #line 1766 extern const GUID MSNdis_FddiShortMulticastList_GUID ; #line 1769 typedef struct _MSNdis_FddiShortMulticastList { ULONG NumberElements ; MSNdis_NetworkShortAddress NdisMulticastList[1] ; } MSNdis_FddiShortMulticastList , * PMSNdis_FddiShortMulticastList ; #line 1788 extern const GUID MSNdis_FddiShortMaximumListSize_GUID ; #line 1791 typedef struct _MSNdis_FddiShortMaximumListSize { ULONG NdisFddiShortMaximumListSize ; } MSNdis_FddiShortMaximumListSize , * PMSNdis_FddiShortMaximumListSize ; #line 1806 extern const GUID MSNdis_FddiAttachmentType_GUID ; #line 1809 typedef struct _MSNdis_FddiAttachmentType { ULONG NdisFddiAttachmentType ; } MSNdis_FddiAttachmentType , * PMSNdis_FddiAttachmentType ; #line 1824 extern const GUID MSNdis_FddiUpstreamNodeLong_GUID ; #line 1827 typedef struct _MSNdis_FddiUpstreamNodeLong { MSNdis_NetworkAddress NdisFddiUpstreamNodeLong ; } MSNdis_FddiUpstreamNodeLong , * PMSNdis_FddiUpstreamNodeLong ; #line 1842 extern const GUID MSNdis_FddiDownstreamNodeLong_GUID ; #line 1845 typedef struct _MSNdis_FddiDownstreamNodeLong { MSNdis_NetworkAddress NdisFddiDownstreamNodeLong ; } MSNdis_FddiDownstreamNodeLong , * PMSNdis_FddiDownstreamNodeLong ; #line 1860 extern const GUID MSNdis_FddiFrameErrors_GUID ; #line 1863 typedef struct _MSNdis_FddiFrameErrors { ULONG NdisFddiFrameErrors ; } MSNdis_FddiFrameErrors , * PMSNdis_FddiFrameErrors ; #line 1878 extern const GUID MSNdis_FddiFramesLost_GUID ; #line 1881 typedef struct _MSNdis_FddiFramesLost { ULONG NdisFddiFramesLost ; } MSNdis_FddiFramesLost , * PMSNdis_FddiFramesLost ; #line 1896 extern const GUID MSNdis_FddiRingManagmentState_GUID ; #line 1899 typedef struct _MSNdis_FddiRingManagmentState { ULONG NdisFddiRingManagmentState ; } MSNdis_FddiRingManagmentState , * PMSNdis_FddiRingManagmentState ; #line 1914 extern const GUID MSNdis_FddiLctFailures_GUID ; #line 1917 typedef struct _MSNdis_FddiLctFailures { ULONG NdisFddiLctFailures ; } MSNdis_FddiLctFailures , * PMSNdis_FddiLctFailures ; #line 1932 extern const GUID MSNdis_FddiLemRejects_GUID ; #line 1935 typedef struct _MSNdis_FddiLemRejects { ULONG NdisFddiLemRejects ; } MSNdis_FddiLemRejects , * PMSNdis_FddiLemRejects ; #line 1950 extern const GUID MSNdis_FddiLConnectionState_GUID ; #line 1953 typedef struct _MSNdis_FddiLConnectionState { ULONG NdisFddiLConnectionState ; } MSNdis_FddiLConnectionState , * PMSNdis_FddiLConnectionState ; #line 1968 extern const GUID MSNdis_StatusResetStart_GUID ; #line 1972 typedef struct _MSNdis_StatusResetStart { char VariableData[1] ; } MSNdis_StatusResetStart , * PMSNdis_StatusResetStart ; #line 1984 extern const GUID MSNdis_StatusResetEnd_GUID ; #line 1988 typedef struct _MSNdis_StatusResetEnd { char VariableData[1] ; } MSNdis_StatusResetEnd , * PMSNdis_StatusResetEnd ; #line 2000 extern const GUID MSNdis_StatusMediaConnect_GUID ; #line 2004 typedef struct _MSNdis_StatusMediaConnect { char VariableData[1] ; } MSNdis_StatusMediaConnect , * PMSNdis_StatusMediaConnect ; #line 2016 extern const GUID MSNdis_StatusMediaDisconnect_GUID ; #line 2020 typedef struct _MSNdis_StatusMediaDisconnect { char VariableData[1] ; } MSNdis_StatusMediaDisconnect , * PMSNdis_StatusMediaDisconnect ; #line 2032 extern const GUID MSNdis_StatusMediaSpecificIndication_GUID ; #line 2035 typedef struct _MSNdis_StatusMediaSpecificIndication { ULONG NumberElements ; UCHAR NdisStatusMediaSpecificIndication[1] ; } MSNdis_StatusMediaSpecificIndication , * PMSNdis_StatusMediaSpecificIndication ; #line 2054 extern const GUID MSNdis_StatusLinkSpeedChange_GUID ; #line 2057 typedef struct _MSNdis_StatusLinkSpeedChange { MSNdis_NetworkLinkSpeed NdisStatusLinkSpeedChange ; } MSNdis_StatusLinkSpeedChange , * PMSNdis_StatusLinkSpeedChange ; #line 2072 extern const GUID MSNdis_StatusProtocolBind_GUID ; #line 2075 typedef struct _MSNdis_StatusProtocolBind { CHAR VariableData[1] ; } MSNdis_StatusProtocolBind , * PMSNdis_StatusProtocolBind ; #line 2089 extern const GUID MSNdis_StatusProtocolUnbind_GUID ; #line 2092 typedef struct _MSNdis_StatusProtocolUnbind { CHAR VariableData[1] ; } MSNdis_StatusProtocolUnbind , * PMSNdis_StatusProtocolUnbind ; #line 2106 extern const GUID MSKeyboard_PortInformation_GUID ; #line 2109 typedef struct _KEYBOARD_PORT_WMI_STD_DATA { ULONG ConnectorType ; ULONG DataQueueSize ; ULONG ErrorCount ; ULONG FunctionKeys ; ULONG Indicators ; } KEYBOARD_PORT_WMI_STD_DATA , * PKEYBOARD_PORT_WMI_STD_DATA ; #line 2149 extern const GUID MSMouse_PortInformation_GUID ; #line 2152 typedef struct _POINTER_PORT_WMI_STD_DATA { ULONG ConnectorType ; ULONG DataQueueSize ; ULONG ErrorCount ; ULONG Buttons ; ULONG HardwareType ; } POINTER_PORT_WMI_STD_DATA , * PPOINTER_PORT_WMI_STD_DATA ; #line 2202 extern const GUID MSMouse_ClassInformation_GUID ; #line 2205 typedef struct _MSMouse_ClassInformation { ULONGLONG DeviceId ; } MSMouse_ClassInformation , * PMSMouse_ClassInformation ; #line 2220 extern const GUID MSKeyboard_ClassInformation_GUID ; #line 2223 typedef struct _MSKeyboard_ClassInformation { ULONGLONG DeviceId ; } MSKeyboard_ClassInformation , * PMSKeyboard_ClassInformation ; #line 2238 extern const GUID MSAcpi_ThermalZoneTemperature_GUID ; #line 2241 typedef struct _MSAcpi_ThermalZoneTemperature { ULONG ThermalStamp ; ULONG ThermalConstant1 ; ULONG ThermalConstant2 ; ULONG Reserved ; ULONG SamplingPeriod ; ULONG CurrentTemperature ; ULONG PassiveTripPoint ; ULONG CriticalTripPoint ; ULONG ActiveTripPointCount ; ULONG ActiveTripPoint[10] ; } MSAcpi_ThermalZoneTemperature , * PMSAcpi_ThermalZoneTemperature ; #line 2301 extern const GUID MSDiskDriver_Geometry_GUID ; #line 2304 typedef struct _WMI_DISK_GEOMETRY { LONGLONG Cylinders ; ULONG MediaType ; ULONG TracksPerCylinder ; ULONG SectorsPerTrack ; ULONG BytesPerSector ; } WMI_DISK_GEOMETRY , * PWMI_DISK_GEOMETRY ; #line 2339 extern const GUID MSDiskDriver_PerformanceData_GUID ; #line 2342 typedef struct _WMI_DISK_PERFORMANCE { LONGLONG BytesRead ; LONGLONG BytesWritten ; LONGLONG ReadTime ; LONGLONG WriteTime ; LONGLONG IdleTime ; ULONG ReadCount ; ULONG WriteCount ; ULONG QueueDepth ; ULONG SplitCount ; LONGLONG QueryTime ; ULONG StorageDeviceNumber ; USHORT StorageManagerName[8] ; } WMI_DISK_PERFORMANCE , * PWMI_DISK_PERFORMANCE ; #line 2412 extern const GUID MSDiskDriver_Performance_GUID ; #line 2415 typedef struct _MSDiskDriver_Performance { WMI_DISK_PERFORMANCE PerfData ; CHAR VariableData[1] ; } MSDiskDriver_Performance , * PMSDiskDriver_Performance ; #line 2434 extern const GUID MSStorageDriver_FailurePredictStatus_GUID ; #line 2437 typedef struct _STORAGE_FAILURE_PREDICT_STATUS { ULONG Reason ; BOOLEAN PredictFailure ; } STORAGE_FAILURE_PREDICT_STATUS , * PSTORAGE_FAILURE_PREDICT_STATUS ; #line 2457 extern const GUID MSStorageDriver_FailurePredictData_GUID ; #line 2460 typedef struct _STORAGE_FAILURE_PREDICT_DATA { ULONG Length ; UCHAR VendorSpecific[512] ; } STORAGE_FAILURE_PREDICT_DATA , * PSTORAGE_FAILURE_PREDICT_DATA ; #line 2480 extern const GUID MSStorageDriver_FailurePredictEvent_GUID ; #line 2483 typedef struct _STORAGE_FAILURE_PREDICT_EVENT { ULONG Length ; UCHAR VendorSpecific[1] ; } STORAGE_FAILURE_PREDICT_EVENT , * PSTORAGE_FAILURE_PREDICT_EVENT ; #line 2502 extern const GUID MSStorageDriver_FailurePredictFunction_GUID ; #line 2513 typedef struct _STORAGE_FAILURE_PREDICT_FUNCTION { char VariableData[1] ; } STORAGE_FAILURE_PREDICT_FUNCTION , * PSTORAGE_FAILURE_PREDICT_FUNCTION ; #line 2525 extern const GUID MSIde_PortDeviceInfo_GUID ; #line 2528 typedef struct _MSIde_PortDeviceInfo { UCHAR Bus ; UCHAR Target ; UCHAR Lun ; } MSIde_PortDeviceInfo , * PMSIde_PortDeviceInfo ; #line 2553 extern const GUID MSSerial_PortName_GUID ; #line 2556 typedef struct _MSSerial_PortName { CHAR VariableData[1] ; } MSSerial_PortName , * PMSSerial_PortName ; #line 2570 extern const GUID MSSerial_CommInfo_GUID ; #line 2573 typedef struct _SERIAL_WMI_COMM_DATA { ULONG BaudRate ; ULONG BitsPerByte ; ULONG Parity ; BOOLEAN ParityCheckEnable ; ULONG StopBits ; ULONG XoffCharacter ; ULONG XoffXmitThreshold ; ULONG XonCharacter ; ULONG XonXmitThreshold ; ULONG MaximumBaudRate ; ULONG MaximumOutputBufferSize ; ULONG MaximumInputBufferSize ; BOOLEAN Support16BitMode ; BOOLEAN SupportDTRDSR ; BOOLEAN SupportIntervalTimeouts ; BOOLEAN SupportParityCheck ; BOOLEAN SupportRTSCTS ; BOOLEAN SupportXonXoff ; BOOLEAN SettableBaudRate ; BOOLEAN SettableDataBits ; BOOLEAN SettableFlowControl ; BOOLEAN SettableParity ; BOOLEAN SettableParityCheck ; BOOLEAN SettableStopBits ; BOOLEAN IsBusy ; } SERIAL_WMI_COMM_DATA , * PSERIAL_WMI_COMM_DATA ; #line 2720 extern const GUID MSSerial_HardwareConfiguration_GUID ; #line 2723 typedef struct _SERIAL_WMI_HW_DATA { ULONG IrqNumber ; ULONG IrqVector ; ULONG IrqLevel ; ULONG IrqAffinityMask ; ULONG InterruptType ; ULONGLONG BaseIOAddress ; } SERIAL_WMI_HW_DATA , * PSERIAL_WMI_HW_DATA ; #line 2767 extern const GUID MSSerial_PerformanceInformation_GUID ; #line 2770 typedef struct _SERIAL_WMI_PERF_DATA { ULONG ReceivedCount ; ULONG TransmittedCount ; ULONG FrameErrorCount ; ULONG SerialOverrunErrorCount ; ULONG BufferOverrunErrorCount ; ULONG ParityErrorCount ; } SERIAL_WMI_PERF_DATA , * PSERIAL_WMI_PERF_DATA ; #line 2810 extern const GUID MSSerial_CommProperties_GUID ; #line 2813 typedef struct _SERIAL_WMI_COMMPROP { USHORT wPacketLength ; USHORT wPacketVersion ; ULONG dwServiceMask ; ULONG dwReserved1 ; ULONG dwMaxTxQueue ; ULONG dwMaxRxQueue ; ULONG dwMaxBaud ; ULONG dwProvSubType ; ULONG dwProvCapabilities ; ULONG dwSettableParams ; ULONG dwSettableBaud ; USHORT wSettableData ; USHORT wSettableStopParity ; ULONG dwCurrentTxQueue ; ULONG dwCurrentRxQueue ; ULONG dwProvSpec1 ; ULONG dwProvSpec2 ; ULONG dwProvCharSize ; UCHAR wcProvChar[1] ; } SERIAL_WMI_COMMPROP , * PSERIAL_WMI_COMMPROP ; #line 2917 extern const GUID MSParallel_AllocFreeCounts_GUID ; #line 2920 typedef struct _PARPORT_WMI_ALLOC_FREE_COUNTS { ULONG PortAllocates ; ULONG PortFrees ; } PARPORT_WMI_ALLOC_FREE_COUNTS , * PPARPORT_WMI_ALLOC_FREE_COUNTS ; #line 2940 extern const GUID MSParallel_DeviceBytesTransferred_GUID ; #line 2943 typedef struct _PARALLEL_WMI_LOG_INFO { ULONG Flags1 ; ULONG Flags2 ; ULONG spare[2] ; LONGLONG SppWriteCount ; LONGLONG NibbleReadCount ; LONGLONG BoundedEcpWriteCount ; LONGLONG BoundedEcpReadCount ; LONGLONG HwEcpWriteCount ; LONGLONG HwEcpReadCount ; LONGLONG SwEcpWriteCount ; LONGLONG SwEcpReadCount ; LONGLONG HwEppWriteCount ; LONGLONG HwEppReadCount ; LONGLONG SwEppWriteCount ; LONGLONG SwEppReadCount ; LONGLONG ByteReadCount ; LONGLONG ChannelNibbleReadCount ; } PARALLEL_WMI_LOG_INFO , * PPARALLEL_WMI_LOG_INFO ; #line 3038 extern const GUID MSRedbook_DriverInformationGuid ; #line 3041 typedef struct _REDBOOK_WMI_STD_DATA { ULONG NumberOfBuffers ; ULONG SectorsPerRead ; ULONG SectorsPerReadMask ; ULONG MaximumSectorsPerRead ; BOOLEAN PlayEnabled ; BOOLEAN CDDASupported ; BOOLEAN CDDAAccurate ; BOOLEAN Reserved1 ; } REDBOOK_WMI_STD_DATA , * PREDBOOK_WMI_STD_DATA ; #line 3091 extern const GUID MSRedbook_PerformanceGuid ; #line 3094 typedef struct _REDBOOK_WMI_PERF_DATA { LONGLONG TimeReadDelay ; LONGLONG TimeReading ; LONGLONG TimeStreamDelay ; LONGLONG TimeStreaming ; LONGLONG DataProcessed ; ULONG StreamPausedCount ; } REDBOOK_WMI_PERF_DATA , * PREDBOOK_WMI_PERF_DATA ; #line 3134 extern const GUID RegisteredGuids_GUID ; #line 3137 typedef struct _RegisteredGuids { ULONG GuidType ; ULONG LoggerId ; ULONG EnableLevel ; ULONG EnableFlags ; BOOLEAN IsEnabled ; } RegisteredGuids , * PRegisteredGuids ; #line 29 "parport.h" void PptCompleteRequest(PIRP Irp , CCHAR PriorityBoost ) ; #line 43 extern ULONG PptDebugLevel ; extern ULONG PptBreakOn ; extern UNICODE_STRING RegistryPath ; #line 47 extern UCHAR PptDot3Retries ; #line 50 extern const PHYSICAL_ADDRESS PhysicalZero ; #line 77 extern LONG PortInfoReferenceCount ; extern PFAST_MUTEX PortInfoMutex ; #line 96 typedef struct _DEVICE_EXTENSION { ULONG ExtensionSignatureBegin ; ULONG DeviceStateFlags ; PDEVICE_OBJECT DeviceObject ; PDRIVER_OBJECT DriverObject ; PDEVICE_OBJECT PhysicalDeviceObject ; PDEVICE_OBJECT ParentDeviceObject ; LONG OpenCloseRefCount ; LIST_ENTRY RemovalRelationsList ; LIST_ENTRY WorkQueue ; LONG WorkQueueCount ; PARALLEL_PORT_INFORMATION PortInfo ; PARALLEL_PNP_INFORMATION PnpInfo ; ULONG AddressSpace ; ULONG EcpAddressSpace ; INTERFACE_TYPE InterfaceType ; ULONG BusNumber ; BOOLEAN FoundInterrupt ; KIRQL InterruptLevel ; ULONG InterruptVector ; KAFFINITY InterruptAffinity ; KINTERRUPT_MODE InterruptMode ; ULONG DmaChannel ; ULONG DmaPort ; USHORT DmaWidth ; LIST_ENTRY IsrList ; PKINTERRUPT InterruptObject ; ULONG InterruptRefCount ; KDPC FreePortDpc ; BOOLEAN UnMapRegisters ; BOOLEAN NationalChecked ; BOOLEAN NationalChipFound ; BOOLEAN FilterMode ; UCHAR EcrPortData ; PARALLEL_PARCHIP_INFO ChipInfo ; UNICODE_STRING DeviceName ; UNICODE_STRING SymbolicLinkName ; DEVICE_POWER_STATE DeviceState ; SYSTEM_POWER_STATE SystemState ; IO_REMOVE_LOCK RemoveLock ; FAST_MUTEX ExtensionFastMutex ; FAST_MUTEX OpenCloseMutex ; WMILIB_CONTEXT WmiLibContext ; PARPORT_WMI_ALLOC_FREE_COUNTS WmiPortAllocFreeCounts ; BOOLEAN CheckedForGenericEpp ; BOOLEAN spare[3] ; ULONG ExtensionSignatureEnd ; } DEVICE_EXTENSION , * PDEVICE_EXTENSION ; #line 265 typedef struct _SYNCHRONIZED_COUNT_CONTEXT { PLONG Count ; LONG NewCount ; } SYNCHRONIZED_COUNT_CONTEXT , * PSYNCHRONIZED_COUNT_CONTEXT ; typedef struct _SYNCHRONIZED_LIST_CONTEXT { PLIST_ENTRY List ; PLIST_ENTRY NewEntry ; } SYNCHRONIZED_LIST_CONTEXT , * PSYNCHRONIZED_LIST_CONTEXT ; typedef struct _SYNCHRONIZED_DISCONNECT_CONTEXT { PDEVICE_EXTENSION Extension ; PPARALLEL_INTERRUPT_SERVICE_ROUTINE IsrInfo ; } SYNCHRONIZED_DISCONNECT_CONTEXT , * PSYNCHRONIZED_DISCONNECT_CONTEXT ; typedef struct _ISR_LIST_ENTRY { LIST_ENTRY ListEntry ; PKSERVICE_ROUTINE ServiceRoutine ; PVOID ServiceContext ; PPARALLEL_DEFERRED_ROUTINE DeferredPortCheckRoutine ; PVOID CheckContext ; } ISR_LIST_ENTRY , * PISR_LIST_ENTRY ; typedef struct _REMOVAL_RELATIONS_LIST_ENTRY { LIST_ENTRY ListEntry ; PDEVICE_OBJECT DeviceObject ; ULONG Flags ; UNICODE_STRING DeviceName ; } REMOVAL_RELATIONS_LIST_ENTRY , * PREMOVAL_RELATIONS_LIST_ENTRY ; #line 298 extern int s ; extern int UNLOADED , NP , DC , SKIP1 , SKIP2 , MPR1 , MPR3 , IPC ; extern int pended ; extern PIO_COMPLETION_ROUTINE compFptr ; extern int compRegistered ; extern int lowerDriverReturn ; extern int setEventCalled ; extern int customIrp ; extern int myStatus ; extern int routine ; #line 309 extern void errorFn() ; #line 21 "funcdecl.h" NTSTATUS PptWmiInitWmi(PDEVICE_OBJECT DeviceObject ) ; #line 24 NTSTATUS PptDispatchSystemControl(PDEVICE_OBJECT DeviceObject , PIRP Irp ) ; #line 30 void PptPnpInitDispatchFunctionTable(void ) ; #line 35 NTSTATUS PptPnpAddDevice(PDRIVER_OBJECT pDriverObject , PDEVICE_OBJECT pPhysicalDeviceObject ) ; #line 41 NTSTATUS PptDispatchPnp(PDEVICE_OBJECT DeviceObject , PIRP Irp ) ; #line 51 NTSTATUS PptFailRequest(PIRP Irp , NTSTATUS Status ) ; #line 57 NTSTATUS PptDispatchPreProcessIrp(PDEVICE_OBJECT DeviceObject , PIRP Irp ) ; #line 63 NTSTATUS PptDispatchPostProcessIrp() ; #line 71 NTSTATUS DriverEntry(PDRIVER_OBJECT DriverObject , PUNICODE_STRING RegistryPath ) ; #line 77 void PptUnload(PDRIVER_OBJECT DriverObject ) ; #line 87 NTSTATUS PptSystemControl(PDEVICE_OBJECT pDeviceObject , PIRP pIrp ) ; #line 93 NTSTATUS PptSynchCompletionRoutine(PDEVICE_OBJECT DeviceObject , PIRP Irp , PKEVENT Event ) ; #line 100 void PptLogError(PDRIVER_OBJECT DriverObject , PDEVICE_OBJECT DeviceObject , PHYSICAL_ADDRESS P1 , PHYSICAL_ADDRESS P2 , ULONG SequenceNumber , UCHAR MajorFunctionCode , UCHAR RetryCount , ULONG UniqueErrorValue , NTSTATUS FinalStatus , NTSTATUS SpecificIOStatus ) ; #line 114 NTSTATUS PptConnectInterrupt(PDEVICE_EXTENSION Extension ) ; #line 119 void PptDisconnectInterrupt(PDEVICE_EXTENSION Extension ) ; #line 124 NTSTATUS PptDispatchCreate(PDEVICE_OBJECT DeviceObject , PIRP Irp ) ; #line 130 NTSTATUS PptDispatchClose(PDEVICE_OBJECT DeviceObject , PIRP Irp ) ; #line 136 BOOLEAN PptSynchronizedIncrement(PVOID SyncContext ) ; #line 141 BOOLEAN PptSynchronizedDecrement(PVOID SyncContext ) ; #line 146 BOOLEAN PptSynchronizedRead(PVOID SyncContext ) ; #line 151 BOOLEAN PptSynchronizedQueue(PVOID Context ) ; #line 156 BOOLEAN PptSynchronizedDisconnect(PVOID Context ) ; #line 161 void PptCancelRoutine(PDEVICE_OBJECT DeviceObject , PIRP Irp ) ; #line 167 void PptFreePortDpc(PKDPC Dpc , PVOID Extension , PVOID SystemArgument1 , PVOID SystemArgument2 ) ; #line 175 BOOLEAN PptTryAllocatePortAtInterruptLevel(PVOID Context ) ; #line 180 void PptFreePortFromInterruptLevel(PVOID Context ) ; #line 185 BOOLEAN PptInterruptService(PKINTERRUPT Interrupt , PVOID Extension ) ; #line 191 BOOLEAN PptTryAllocatePort(PVOID Extension ) ; #line 196 BOOLEAN PptTraversePortCheckList(PVOID Extension ) ; #line 201 void PptFreePort(PVOID Extension ) ; #line 206 ULONG PptQueryNumWaiters(PVOID Extension ) ; #line 211 NTSTATUS PptDispatchInternalDeviceControl(PDEVICE_OBJECT DeviceObject , PIRP Irp ) ; #line 217 void PptCleanupDevice(PDEVICE_EXTENSION Extension ) ; #line 222 NTSTATUS PptDispatchCleanup(PDEVICE_OBJECT DeviceObject , PIRP Irp ) ; #line 228 BOOLEAN PptIsNecR98Machine(void ) ; #line 233 NTSTATUS PptDispatchPower(PDEVICE_OBJECT pDeviceObject , PIRP pIrp ) ; #line 239 void PptRegInitDriverSettings(PUNICODE_STRING RegistryPath ) ; #line 244 PWSTR PptGetPortNameFromPhysicalDeviceObject(PDEVICE_OBJECT PhysicalDeviceObject ) ; #line 249 PVOID PptSetCancelRoutine(PIRP Irp , PDRIVER_CANCEL CancelRoutine ) ; #line 255 NTSTATUS PptAcquireRemoveLockOrFailIrp(PDEVICE_OBJECT DeviceObject , PIRP Irp ) ; #line 265 void PptDebugDumpPnpIrpInfo(PDEVICE_OBJECT DeviceObject , PIRP Irp ) ; #line 271 NTSTATUS PptAcquireRemoveLock(PIO_REMOVE_LOCK RemoveLock , PVOID Tag ) ; #line 277 void PptReleaseRemoveLock(PIO_REMOVE_LOCK RemoveLock , PVOID Tag ) ; #line 283 void PptReleaseRemoveLockAndWait(PIO_REMOVE_LOCK RemoveLock , PVOID Tag ) ; #line 289 void PptDebugDumpResourceList(PIO_RESOURCE_LIST ResourceList ) ; #line 294 void PptDebugDumpResourceRequirementsList(PIO_RESOURCE_REQUIREMENTS_LIST ResourceRequirementsList ) ; #line 317 void PptReportResourcesDevice(PDEVICE_EXTENSION Extension , BOOLEAN ClaimInterrupt , PBOOLEAN ConflictDetected ) ; #line 324 void PptUnReportResourcesDevice(PDEVICE_EXTENSION Extension ) ; #line 339 NTSTATUS PptDispatchCreateClose(PDEVICE_OBJECT DeviceObject , PIRP Irp ) ; #line 420 NTSTATUS PptDispatchDeviceControl(PDEVICE_OBJECT DeviceObject , PIRP Irp ) ; #line 451 NTSTATUS PptDetectChipFilter(PDEVICE_EXTENSION Extension ) ; #line 456 NTSTATUS PptDetectPortType(PDEVICE_EXTENSION Extension ) ; #line 461 NTSTATUS PptSetChipMode(PDEVICE_EXTENSION Extension , UCHAR ChipMode ) ; #line 467 NTSTATUS PptClearChipMode(PDEVICE_EXTENSION Extension , UCHAR ChipMode ) ; #line 477 ULONG PptInitiate1284_3(PVOID Extension ) ; #line 482 NTSTATUS PptTrySelectDevice(PVOID Context , PVOID TrySelectCommand ) ; #line 488 NTSTATUS PptDeselectDevice(PVOID Context , PVOID DeselectCommand ) ; #line 494 ULONG Ppt1284_3AssignAddress(PDEVICE_EXTENSION DeviceExtension ) ; #line 499 BOOLEAN PptSend1284_3Command(PDEVICE_EXTENSION DeviceExtension , UCHAR Command ) ; #line 529 NTSTATUS PptPowerDispatch(PDEVICE_OBJECT pDeviceObject , PIRP pIrp ) ; #line 553 NTSTATUS PptTrySelectLegacyZip(PVOID Context , PVOID TrySelectCommand ) ; #line 559 NTSTATUS PptDeselectLegacyZip(PVOID Context , PVOID DeselectCommand ) ; #line 565 void PptDumpRemovalRelationsList(PDEVICE_EXTENSION Extension ) ; #line 570 NTSTATUS PptRegGetDeviceParameterDword(PDEVICE_OBJECT Pdo , PWSTR ParameterName , PULONG ParameterValue ) ; #line 577 NTSTATUS PptRegSetDeviceParameterDword(PDEVICE_OBJECT Pdo , PWSTR ParameterName , PULONG ParameterValue ) ; #line 584 NTSTATUS PptBuildParallelPortDeviceName(ULONG Number , PUNICODE_STRING DeviceName ) ; #line 590 NTSTATUS PptInitializeDeviceExtension(PDRIVER_OBJECT pDriverObject , PDEVICE_OBJECT pPhysicalDeviceObject , PDEVICE_OBJECT pDeviceObject , PUNICODE_STRING uniNameString , PWSTR portName , ULONG portNumber ) ; #line 600 NTSTATUS PptGetPortNumberFromLptName(PWSTR PortName , PULONG PortNumber ) ; #line 606 PDEVICE_OBJECT PptBuildDeviceObject(PDRIVER_OBJECT pDriverObject , PDEVICE_OBJECT pPhysicalDeviceObject ) ; #line 612 void PptDetectEppPort(PDEVICE_EXTENSION Extension ) ; #line 617 void PptCleanRemovalRelationsList(PDEVICE_EXTENSION Extension ) ; #line 197 "util.h" BOOLEAN CheckPort(PUCHAR offset_Controller , UCHAR dsrMask , UCHAR dsrValue , USHORT msTimeDelay ) ; #line 25 "cleanup.c" NTSTATUS PptDispatchCleanup(PDEVICE_OBJECT DeviceObject , PIRP Irp ) { #line 52 PDEVICE_EXTENSION extension = DeviceObject->DeviceExtension; PIRP nextIrp ; KIRQL cancelIrql ; #line 56 do { #line 56 ; } while(0); #line 63 if(extension->DeviceStateFlags & (ULONG )0x00001000) { #line 64 goto targetExit; } #line 67 IoAcquireCancelSpinLock(& cancelIrql); #line 69 /***DEALS WITH ANOTHER IRP while(! ((& extension->WorkQueue)->Flink == & extension->WorkQueue)) { nextIrp = (IRP * )((PCHAR )(extension->WorkQueue).Blink - (ULONG_PTR )(& ((((IRP * )0)->Tail).Overlay).ListEntry)); #line 73 nextIrp->Cancel = 1; nextIrp->CancelIrql = cancelIrql; nextIrp->CancelRoutine = (void * )0; #line 77 PptCancelRoutine(DeviceObject, nextIrp); #line 80 IoAcquireCancelSpinLock(& cancelIrql); } */ #line 83 IoReleaseCancelSpinLock(cancelIrql); #line 85 targetExit: myStatus = (NTSTATUS )0x00000000L; (Irp->IoStatus).Status = (NTSTATUS )0x00000000L; (Irp->IoStatus).Information = 0; PptCompleteRequest(Irp, 0); #line 91 return (NTSTATUS )0x00000000L; } #line 16 "C:/Program Files/Microsoft Visual Studio/VC98/include/excpt.h" #pragma once #line 32 #pragma pack(push, 8) #line 72 typedef enum _EXCEPTION_DISPOSITION ; #line 89 struct _EXCEPTION_RECORD ; #line 90 struct _CONTEXT ; #line 155 #pragma pack(pop) #line 25 "C:/NTDDK/inc/ntdef.h" #pragma once #line 15 "C:/Program Files/Microsoft Visual Studio/VC98/include/ctype.h" #pragma once #line 60 typedef unsigned short ; #line 66 typedef wchar_t ; #line 67 typedef wchar_t ; #line 127 "C:/NTDDK/inc/ntdef.h" typedef unsigned long ; #line 25 "C:/NTDDK/inc/basetsd.h" #pragma once #line 36 typedef int ; #line 37 typedef int ; #line 43 typedef unsigned int ; #line 44 typedef unsigned int ; #line 45 typedef unsigned int ; #line 84 typedef int ; #line 85 typedef unsigned int ; typedef long ; #line 88 typedef unsigned long ; #line 248 typedef unsigned short ; #line 249 typedef short ; #line 250 typedef unsigned long ; #line 288 typedef ULONG_PTR ; #line 289 typedef LONG_PTR ; #line 295 typedef ULONG_PTR ; #line 301 typedef __int64 ; #line 302 typedef __int64 ; #line 309 typedef unsigned __int64 ; #line 310 typedef unsigned __int64 ; #line 311 typedef unsigned __int64 ; #line 217 "C:/NTDDK/inc/ntdef.h" typedef void ; #line 218 typedef void ; #line 266 typedef char ; #line 267 typedef short ; #line 268 typedef long ; #line 276 typedef wchar_t ; #line 282 typedef WCHAR ; #line 283 typedef WCHAR ; #line 284 typedef const WCHAR ; #line 285 typedef WCHAR ; #line 286 typedef WCHAR ; typedef const WCHAR ; #line 293 typedef CHAR ; #line 294 typedef CHAR ; typedef const CHAR ; #line 297 typedef CHAR ; #line 298 typedef CHAR ; #line 299 typedef const CHAR ; #line 321 typedef char ; #line 322 typedef unsigned char ; #line 326 typedef LPSTR ; #line 327 typedef LPSTR ; #line 328 typedef LPCSTR ; #line 337 typedef double ; typedef struct _QUAD ; #line 349 typedef SHORT ; #line 350 typedef LONG ; #line 351 typedef QUAD ; #line 360 typedef unsigned char ; #line 361 typedef unsigned short ; #line 362 typedef unsigned long ; #line 363 typedef QUAD ; #line 369 typedef UCHAR ; #line 370 typedef USHORT ; #line 371 typedef ULONG ; #line 372 typedef UQUAD ; #line 378 typedef signed char ; #line 379 typedef SCHAR ; #line 394 typedef void ; #line 400 typedef HANDLE ; #line 406 typedef UCHAR ; #line 407 typedef USHORT ; #line 408 typedef ULONG ; #line 414 typedef LONG ; #line 478 typedef char ; #line 479 typedef short ; #line 480 typedef ULONG ; typedef CCHAR ; #line 483 typedef CSHORT ; #line 484 typedef CLONG ; #line 492 typedef ULONG ; #line 493 typedef PULONG ; #line 494 typedef USHORT ; #line 500 typedef ULONG ; #line 501 typedef ULONG ; #line 508 typedef LONG ; typedef NTSTATUS ; #line 602 typedef struct _FLOAT128 ; #line 607 typedef FLOAT128 ; #line 621 typedef __int64 ; #line 622 typedef unsigned __int64 ; #line 639 typedef LONGLONG ; #line 640 typedef ULONGLONG ; #line 644 typedef LONGLONG ; #line 649 typedef union _LARGE_INTEGER ; #line 662 typedef LARGE_INTEGER ; #line 668 typedef union _ULARGE_INTEGER ; #line 681 typedef ULARGE_INTEGER ; #line 690 typedef struct _LUID ; #line 696 typedef ULONGLONG ; #line 697 typedef DWORDLONG ; #line 707 typedef LARGE_INTEGER ; #line 831 #pragma warning(push) #pragma warning(disable:4035) __inline ULONGLONG __stdcall Int64ShllMod32___1(ULONGLONG Value , ULONG ShiftCount ) { #line 842 __asm { mov ecx, ShiftCount mov eax, dword ptr [Value] mov edx, dword ptr [Value+4] shld edx, eax, cl shl eax, cl }; } #line 845 __inline LONGLONG __stdcall Int64ShraMod32___1(LONGLONG Value , ULONG ShiftCount ) { #line 852 __asm { mov ecx, ShiftCount mov eax, dword ptr [Value] mov edx, dword ptr [Value+4] shrd eax, edx, cl sar edx, cl }; } #line 855 __inline ULONGLONG __stdcall Int64ShrlMod32___1(ULONGLONG Value , ULONG ShiftCount ) { #line 862 __asm { mov ecx, ShiftCount mov eax, dword ptr [Value] mov edx, dword ptr [Value+4] shrd eax, edx, cl shr edx, cl }; } #pragma warning(pop) #line 956 typedef enum _EVENT_TYPE ; #line 965 typedef enum _TIMER_TYPE ; #line 974 typedef enum _WAIT_TYPE ; #line 983 typedef CHAR ; #line 984 typedef const char ; #line 991 typedef struct _STRING ; #line 999 typedef STRING ; typedef STRING ; #line 1002 typedef PSTRING ; typedef STRING ; #line 1005 typedef PSTRING ; #line 1011 typedef struct _CSTRING ; #line 1016 typedef CSTRING ; #line 1019 typedef STRING ; #line 1020 typedef PSTRING ; #line 1027 typedef struct _UNICODE_STRING ; #line 1036 typedef UNICODE_STRING ; #line 1037 typedef const UNICODE_STRING ; #line 1046 typedef UCHAR ; #line 1047 typedef BOOLEAN ; #line 1057 typedef struct _LIST_ENTRY ; #line 1067 typedef struct _SINGLE_LIST_ENTRY ; #line 1078 typedef struct LIST_ENTRY32 ; #line 1082 typedef LIST_ENTRY32 ; typedef struct LIST_ENTRY64 ; #line 1088 typedef LIST_ENTRY64 ; #line 1127 typedef struct _STRING32 ; #line 1132 typedef STRING32 ; typedef STRING32 ; #line 1135 typedef UNICODE_STRING32 ; typedef STRING32 ; #line 1138 typedef ANSI_STRING32 ; #line 1141 typedef struct _STRING64 ; #line 1146 typedef STRING64 ; typedef STRING64 ; #line 1149 typedef UNICODE_STRING64 ; typedef STRING64 ; #line 1152 typedef ANSI_STRING64 ; #line 1173 typedef struct _OBJECT_ATTRIBUTES ; #line 1181 typedef OBJECT_ATTRIBUTES ; #line 17 "C:/NTDDK/inc/guiddef.h" typedef struct _GUID ; #line 70 typedef GUID ; #line 75 typedef const GUID ; #line 81 typedef GUID ; #line 82 typedef IID ; #line 85 typedef GUID ; #line 86 typedef CLSID ; #line 89 typedef GUID ; #line 90 typedef FMTID ; #line 16 "C:/NTDDK/inc/string.h" #pragma once #line 54 typedef unsigned int ; #line 1233 "C:/NTDDK/inc/ntdef.h" typedef struct _OBJECTID ; #line 1288 struct _CONTEXT ; #line 1289 struct _EXCEPTION_RECORD ; typedef EXCEPTION_DISPOSITION ; #line 1306 typedef UCHAR ; typedef KIRQL ; #line 1316 typedef enum _NT_PRODUCT_TYPE ; #line 1329 typedef enum _SUITE_TYPE ; #line 75 "C:/NTDDK/inc/ddk/ntddk.h" typedef struct _KTHREAD ; #line 76 typedef struct _ETHREAD ; #line 77 typedef struct _EPROCESS ; #line 78 typedef struct _PEB ; #line 79 typedef struct _KINTERRUPT ; #line 80 typedef struct _IO_TIMER ; #line 81 typedef struct _OBJECT_TYPE ; #line 82 typedef struct _CALLBACK_OBJECT ; #line 83 typedef struct _DEVICE_HANDLER_OBJECT ; #line 84 typedef struct _BUS_HANDLER ; #line 143 typedef union _SLIST_HEADER ; #line 204 typedef CCHAR ; typedef enum _MODE ; #line 222 struct _KAPC ; typedef void ; #line 232 typedef void ; #line 242 typedef void ; #line 248 typedef BOOLEAN ; #line 254 typedef BOOLEAN ; #line 265 typedef struct _KAPC ; #line 292 struct _KDPC ; typedef void ; #line 351 typedef enum _KDPC_IMPORTANCE ; #line 361 typedef struct _KDPC ; #line 377 typedef PVOID ; typedef void ; #line 392 typedef struct _KIPI_COUNTS ; #line 443 typedef struct _MDL ; #line 532 typedef PVOID ; #line 538 typedef PVOID ; #line 544 typedef PVOID ; typedef ULONG ; #line 547 typedef ACCESS_MASK ; #line 597 typedef struct _GENERIC_MAPPING ; #line 603 typedef GENERIC_MAPPING ; #line 24 "C:/NTDDK/inc/pshpack4.h" #pragma warning(disable:4103) #pragma pack(push, 4) #line 618 "C:/NTDDK/inc/ddk/ntddk.h" typedef struct _LUID_AND_ATTRIBUTES ; #line 622 typedef LUID_AND_ATTRIBUTES ; #line 623 typedef LUID_AND_ATTRIBUTES_ARRAY ; #line 27 "C:/NTDDK/inc/poppack.h" #pragma warning(disable:4103) #pragma pack(pop) #line 642 "C:/NTDDK/inc/ddk/ntddk.h" typedef struct _ACL ; #line 649 typedef ACL ; #line 681 typedef struct _PRIVILEGE_SET ; #line 735 typedef enum _SECURITY_IMPERSONATION_LEVEL ; #line 753 typedef BOOLEAN ; #line 762 typedef struct _SECURITY_QUALITY_OF_SERVICE ; #line 774 typedef struct _SE_IMPERSONATION_STATE ; #line 782 typedef ULONG ; #line 809 typedef ULONG ; #line 810 typedef KAFFINITY ; #line 816 typedef LONG ; #line 824 typedef ULONG_PTR ; #line 825 typedef KSPIN_LOCK ; #line 833 typedef void ; #line 842 typedef enum _KPROFILE_SOURCE ; #line 1079 typedef NTSTATUS ; #line 1088 typedef struct _RTL_QUERY_REGISTRY_TABLE ; #line 1952 #pragma warning(push) #pragma warning(disable:4035) #line 2019 #pragma warning(pop) #line 2214 typedef struct _TIME_FIELDS ; #line 2224 typedef TIME_FIELDS ; #line 2499 typedef struct _RTL_BITMAP ; #line 2503 typedef RTL_BITMAP ; #line 2627 typedef struct _RTL_BITMAP_RUN ; #line 2633 typedef RTL_BITMAP_RUN ; #line 2886 typedef struct _RTL_RANGE ; #line 2924 typedef struct _RTL_RANGE_LIST ; #line 2950 typedef struct _RANGE_LIST_ITERATOR ; #line 3019 typedef BOOLEAN ; #line 3155 typedef struct _OSVERSIONINFOA ; #line 3164 typedef struct _OSVERSIONINFOW ; #line 3177 typedef OSVERSIONINFOA ; #line 3178 typedef POSVERSIONINFOA ; #line 3179 typedef LPOSVERSIONINFOA ; #line 3182 typedef struct _OSVERSIONINFOEXA ; #line 3195 typedef struct _OSVERSIONINFOEXW ; #line 3213 typedef OSVERSIONINFOEXA ; #line 3214 typedef POSVERSIONINFOEXA ; #line 3215 typedef LPOSVERSIONINFOEXA ; #line 3648 typedef struct _IO_STATUS_BLOCK ; #line 3669 typedef void ; #line 3685 typedef enum _FILE_INFORMATION_CLASS ; #line 3731 typedef struct _FILE_BASIC_INFORMATION ; #line 3739 typedef struct _FILE_STANDARD_INFORMATION ; #line 3747 typedef struct _FILE_POSITION_INFORMATION ; #line 3751 typedef struct _FILE_ALIGNMENT_INFORMATION ; #line 3755 typedef struct _FILE_NAME_INFORMATION ; #line 3760 typedef struct _FILE_NETWORK_OPEN_INFORMATION ; #line 3770 typedef struct _FILE_ATTRIBUTE_TAG_INFORMATION ; #line 3775 typedef struct _FILE_DISPOSITION_INFORMATION ; #line 3779 typedef struct _FILE_END_OF_FILE_INFORMATION ; #line 3784 typedef struct _FILE_FULL_EA_INFORMATION ; #line 3798 typedef enum _FSINFOCLASS ; #line 3810 typedef struct _FILE_FS_DEVICE_INFORMATION ; #line 3820 typedef union _FILE_SEGMENT_ELEMENT ; #line 3829 typedef enum _INTERFACE_TYPE ; #line 3854 typedef enum _DMA_WIDTH ; #line 3865 typedef enum _DMA_SPEED ; #line 3879 typedef void ; #line 3880 typedef void ; #line 3888 typedef enum _BUS_DATA_TYPE ; #line 3910 typedef struct _IO_ERROR_LOG_PACKET ; #line 3931 typedef struct _IO_ERROR_LOG_MESSAGE ; #line 4074 typedef struct _KEY_BASIC_INFORMATION ; #line 4081 typedef struct _KEY_NODE_INFORMATION ; #line 4091 typedef struct _KEY_FULL_INFORMATION ; #line 4106 typedef struct _KEY_NAME_INFORMATION ; #line 4112 typedef enum _KEY_INFORMATION_CLASS ; #line 4122 typedef struct _KEY_WRITE_TIME_INFORMATION ; #line 4126 typedef enum _KEY_SET_INFORMATION_CLASS ; #line 4134 typedef struct _KEY_VALUE_BASIC_INFORMATION ; #line 4141 typedef struct _KEY_VALUE_FULL_INFORMATION ; #line 4151 typedef struct _KEY_VALUE_PARTIAL_INFORMATION ; #line 4158 typedef struct _KEY_VALUE_PARTIAL_INFORMATION_ALIGN64 ; #line 4164 typedef struct _KEY_VALUE_ENTRY ; #line 4171 typedef enum _KEY_VALUE_INFORMATION_CLASS ; #line 4210 typedef struct _OBJECT_NAME_INFORMATION ; #line 4221 typedef enum _SECTION_INHERIT ; #line 4294 typedef struct _CLIENT_ID ; #line 4298 typedef CLIENT_ID ; #line 4315 typedef struct _NT_TIB ; #line 4327 typedef NT_TIB ; #line 4332 typedef enum _PROCESSINFOCLASS ; #line 4366 typedef enum _THREADINFOCLASS ; #line 4395 typedef struct _PROCESS_WS_WATCH_INFORMATION ; #line 4405 typedef struct _PROCESS_BASIC_INFORMATION ; #line 4413 typedef PROCESS_BASIC_INFORMATION ; #line 4422 typedef struct _PROCESS_DEVICEMAP_INFORMATION ; #line 4440 typedef struct _PROCESS_SESSION_INFORMATION ; #line 4454 typedef struct _QUOTA_LIMITS ; #line 4462 typedef QUOTA_LIMITS ; #line 4472 typedef struct _IO_COUNTERS ; #line 4480 typedef IO_COUNTERS ; #line 4488 typedef struct _VM_COUNTERS ; #line 4501 typedef VM_COUNTERS ; #line 4508 typedef struct _POOLED_USAGE_AND_LIMITS ; #line 4519 typedef POOLED_USAGE_AND_LIMITS ; #line 4528 typedef struct _PROCESS_ACCESS_TOKEN ; #line 4555 typedef struct _KERNEL_USER_TIMES ; #line 4561 typedef KERNEL_USER_TIMES ; #line 4587 typedef enum _SYSTEM_POWER_STATE ; #line 4598 typedef enum { PowerActionNone = 0, PowerActionReserved, PowerActionSleep, PowerActionHibernate, PowerActionShutdown, PowerActionShutdownReset, PowerActionShutdownOff, PowerActionWarmEject } ; typedef enum _DEVICE_POWER_STATE ; #line 4618 typedef union _POWER_STATE ; #line 4623 typedef enum _POWER_STATE_TYPE ; #line 4654 typedef ULONG ; typedef enum { LT_DONT_CARE, LT_LOWEST_LATENCY } ; #line 4663 typedef enum { SystemPowerPolicyAc, SystemPowerPolicyDc, VerifySystemPolicyAc, VerifySystemPolicyDc, SystemPowerCapabilities, SystemBatteryState, SystemPowerStateHandler, ProcessorStateHandler, SystemPowerPolicyCurrent, AdministratorPowerPolicy, SystemReserveHiberFile, ProcessorInformation, SystemPowerInformation } ; #line 4690 typedef ULONG ; typedef LONG ; #line 4693 typedef ULONG ; #line 4719 typedef union _MCI_STATS ; #line 4978 typedef struct _KPCR ; #line 5006 typedef KPCR ; #line 5012 typedef struct _KFLOATING_SAVE ; #line 5153 typedef enum _INTERLOCKED_RESULT ; #line 5252 #pragma warning(disable:4035) #line 6994 typedef struct _KSYSTEM_TIME ; #line 7014 #pragma warning(push) #pragma warning(disable:4164) #line 7019 #pragma function(_enable) #line 7020 #pragma function(_disable) #line 7024 #pragma warning(pop) #line 7085 typedef struct _FLOATING_SAVE_AREA ; #line 7097 typedef FLOATING_SAVE_AREA ; #line 7109 typedef struct _CONTEXT ; #line 7197 typedef CONTEXT ; #line 7826 typedef void ; #line 7850 typedef enum _ALTERNATIVE_ARCHITECTURE_TYPE ; #line 7899 typedef struct _KUSER_SHARED_DATA ; #line 8123 typedef enum _CM_SERVICE_NODE_TYPE ; #line 8132 typedef enum _CM_SERVICE_LOAD_TYPE ; #line 8140 typedef enum _CM_ERROR_CONTROL_TYPE ; #line 8172 typedef int ; #line 8198 typedef enum _CM_SHARE_DISPOSITION ; #line 8211 typedef PVOID ; #line 24 "C:/NTDDK/inc/pshpack4.h" #pragma warning(disable:4103) #pragma pack(push, 4) #line 8309 "C:/NTDDK/inc/ddk/ntddk.h" typedef struct _CM_PARTIAL_RESOURCE_DESCRIPTOR ; #line 27 "C:/NTDDK/inc/poppack.h" #pragma warning(disable:4103) #pragma pack(pop) #line 8419 "C:/NTDDK/inc/ddk/ntddk.h" typedef struct _CM_PARTIAL_RESOURCE_LIST ; #line 8443 typedef struct _CM_FULL_RESOURCE_DESCRIPTOR ; #line 8454 typedef struct _CM_RESOURCE_LIST ; #line 8471 typedef struct _DEVICE_FLAGS ; #line 8485 typedef struct _CM_COMPONENT_INFORMATION ; #line 8503 typedef struct _CM_ROM_BLOCK ; #line 24 "C:/NTDDK/inc/pshpack1.h" #pragma warning(disable:4103) #pragma pack(push, 1) #line 8518 "C:/NTDDK/inc/ddk/ntddk.h" typedef struct _CM_INT13_DRIVE_PARAMETER ; #line 8532 typedef struct _CM_MCA_POS_DATA ; #line 8544 typedef struct _EISA_MEMORY_TYPE ; #line 8554 typedef struct _EISA_MEMORY_CONFIGURATION ; #line 8567 typedef struct _EISA_IRQ_DESCRIPTOR ; #line 8575 typedef struct _EISA_IRQ_CONFIGURATION ; #line 8585 typedef struct _DMA_CONFIGURATION_BYTE0 ; #line 8592 typedef struct _DMA_CONFIGURATION_BYTE1 ; #line 8599 typedef struct _EISA_DMA_CONFIGURATION ; #line 8609 typedef struct _EISA_PORT_DESCRIPTOR ; #line 8616 typedef struct _EISA_PORT_CONFIGURATION ; #line 8628 typedef struct _CM_EISA_SLOT_INFORMATION ; #line 8644 typedef struct _CM_EISA_FUNCTION_INFORMATION ; #line 8678 typedef struct _CM_PNP_BIOS_DEVICE_NODE ; #line 8692 typedef struct _CM_PNP_BIOS_INSTALLATION_CHECK ; #line 27 "C:/NTDDK/inc/poppack.h" #pragma warning(disable:4103) #pragma pack(pop) #line 8761 "C:/NTDDK/inc/ddk/ntddk.h" typedef struct _CM_SCSI_DEVICE_DATA ; #line 8775 typedef struct _CM_VIDEO_DEVICE_DATA ; #line 8785 typedef struct _CM_SONIC_DEVICE_DATA ; #line 8796 typedef struct _CM_SERIAL_DEVICE_DATA ; #line 8810 typedef struct _CM_MONITOR_DEVICE_DATA ; #line 8844 typedef struct _CM_FLOPPY_DEVICE_DATA ; #line 8881 typedef struct _CM_KEYBOARD_DEVICE_DATA ; #line 8893 typedef struct _CM_DISK_GEOMETRY_DEVICE_DATA ; #line 8905 typedef struct _CM_PCCARD_DEVICE_DATA ; #line 8944 typedef struct _IO_RESOURCE_DESCRIPTOR ; #line 9027 typedef struct _IO_RESOURCE_LIST ; #line 9036 typedef struct _IO_RESOURCE_REQUIREMENTS_LIST ; #line 9065 typedef struct _EXCEPTION_RECORD ; #line 9074 typedef EXCEPTION_RECORD ; typedef struct _EXCEPTION_RECORD32 ; #line 9085 typedef struct _EXCEPTION_RECORD64 ; #line 9099 typedef struct _EXCEPTION_POINTERS ; #line 9111 typedef enum _CONFIGURATION_TYPE ; #line 9161 typedef enum _KINTERRUPT_MODE ; #line 9170 typedef enum _KWAIT_REASON ; #line 9207 typedef struct _DISPATCHER_HEADER ; #line 9217 typedef struct _KWAIT_BLOCK ; #line 9230 typedef void ; #line 9244 typedef struct _KDEVICE_QUEUE ; #line 9252 typedef struct _KDEVICE_QUEUE_ENTRY ; #line 9263 typedef struct _KEVENT ; #line 9271 typedef BOOLEAN ; #line 9281 typedef struct _KMUTANT ; #line 9294 typedef struct _KSEMAPHORE ; #line 9304 typedef struct _KTIMER ; #line 9899 typedef enum _KBUGCHECK_BUFFER_DUMP_STATE ; #line 9907 typedef void ; #line 9914 typedef struct _KBUGCHECK_CALLBACK_RECORD ; #line 10002 typedef void ; #line 10020 typedef LOGICAL ; #line 10037 typedef void ; #line 10053 typedef enum _MEMORY_CACHING_TYPE_ORIG ; #line 10057 typedef enum _MEMORY_CACHING_TYPE ; #line 10087 typedef struct _DBGKD_DEBUG_DATA_HEADER64 ; #line 10115 typedef enum _POOL_TYPE ; #line 10195 typedef enum _EX_POOL_PRIORITY ; #line 10247 typedef struct _FAST_MUTEX ; #line 10574 typedef PVOID ; #line 10582 typedef void ; #line 10588 typedef struct _GENERAL_LOOKASIDE ; #line 10619 typedef struct _NPAGED_LOOKASIDE_LIST ; #line 10729 typedef struct _PAGED_LOOKASIDE_LIST ; #line 10882 typedef enum _WORK_QUEUE_TYPE ; #line 10889 typedef void ; #line 10895 typedef struct _WORK_QUEUE_ITEM ; #line 10926 typedef struct _ZONE_SEGMENT_HEADER ; #line 10931 typedef struct _ZONE_HEADER ; #line 11156 typedef ULONG_PTR ; #line 11157 typedef ERESOURCE_THREAD ; typedef struct _OWNER_ENTRY ; #line 11168 typedef struct _ERESOURCE ; #line 11197 typedef struct _RESOURCE_HASH_ENTRY ; #line 11204 typedef struct _RESOURCE_PERFORMANCE_DATA ; #line 11429 typedef struct _CALLBACK_OBJECT ; typedef void ; #line 11474 typedef GUID ; #line 11862 typedef enum _MM_SYSTEM_SIZE ; #line 11884 typedef enum _LOCK_OPERATION ; #line 11970 typedef enum _MM_PAGE_PRIORITY ; #line 11999 typedef struct _PHYSICAL_MEMORY_RANGE ; #line 12385 typedef NTSTATUS ; #line 12389 typedef NTSTATUS ; #line 12399 struct _DRIVER_OBJECT ; #line 12411 typedef enum _SECURITY_OPERATION_CODE ; #line 12426 typedef struct _SECURITY_SUBJECT_CONTEXT ; #line 12448 typedef struct _INITIAL_PRIVILEGE_SET ; #line 12462 typedef struct _ACCESS_STATE ; #line 12571 typedef void ; #line 12585 typedef void ; #line 12602 typedef struct _IMAGE_INFO ; #line 12620 typedef void ; #line 12859 typedef NTSTATUS ; #line 12878 typedef enum _IO_QUERY_DEVICE_DATA_FORMAT ; #line 12890 typedef enum _CREATE_FILE_TYPE ; #line 12905 struct _DEVICE_DESCRIPTION ; #line 12906 struct _DEVICE_OBJECT ; #line 12907 struct _DMA_ADAPTER ; #line 12908 struct _DRIVER_OBJECT ; #line 12909 struct _DRIVE_LAYOUT_INFORMATION ; #line 12910 struct _DISK_PARTITION ; #line 12911 struct _FILE_OBJECT ; #line 12912 struct _IRP ; #line 12913 struct _SCSI_REQUEST_BLOCK ; #line 12919 typedef void ; #line 12932 typedef void ; #line 12943 typedef NTSTATUS ; #line 12955 typedef void ; #line 12968 typedef void ; #line 12979 typedef NTSTATUS ; #line 12990 typedef void ; #line 13001 typedef void ; #line 13011 typedef NTSTATUS ; #line 13025 typedef BOOLEAN ; #line 13038 typedef BOOLEAN ; #line 13051 typedef BOOLEAN ; #line 13068 typedef BOOLEAN ; #line 13078 typedef BOOLEAN ; #line 13092 typedef BOOLEAN ; #line 13106 typedef BOOLEAN ; #line 13118 typedef BOOLEAN ; #line 13127 typedef BOOLEAN ; #line 13141 typedef BOOLEAN ; #line 13161 typedef void ; #line 13167 typedef void ; #line 13179 typedef void ; #line 13193 typedef BOOLEAN ; #line 13207 typedef BOOLEAN ; #line 13219 typedef BOOLEAN ; #line 13227 typedef BOOLEAN ; #line 13239 typedef BOOLEAN ; #line 13253 typedef NTSTATUS ; #line 13262 typedef NTSTATUS ; #line 13275 typedef NTSTATUS ; #line 13282 typedef NTSTATUS ; #line 13289 typedef BOOLEAN ; #line 13304 typedef BOOLEAN ; #line 13319 typedef BOOLEAN ; #line 13327 typedef BOOLEAN ; #line 13336 typedef BOOLEAN ; #line 13350 typedef struct _FAST_IO_DISPATCH ; #line 13386 typedef enum _IO_ALLOCATION_ACTION ; #line 13396 typedef IO_ALLOCATION_ACTION ; #line 13410 typedef struct _IO_SECURITY_CONTEXT ; #line 13434 typedef struct _VPB ; #line 13482 typedef struct _ADAPTER_OBJECT ; #line 13491 typedef struct _WAIT_CONTEXT_BLOCK ; #line 13503 typedef struct _CONTROLLER_OBJECT ; #line 13537 typedef struct _DEVICE_OBJECT ; #line 13575 typedef struct _DEVICE_OBJECT ; #line 13578 struct _DEVICE_OBJECT_POWER_EXTENSION ; typedef struct _DEVOBJ_EXTENSION ; #line 13608 typedef struct _DRIVER_EXTENSION ; #line 13645 typedef struct _DRIVER_OBJECT ; #line 13706 typedef struct _DRIVER_OBJECT ; #line 13715 typedef struct _SECTION_OBJECT_POINTERS ; #line 13720 typedef SECTION_OBJECT_POINTERS ; #line 13726 typedef struct _IO_COMPLETION_CONTEXT ; #line 13759 typedef struct _FILE_OBJECT ; #line 13788 typedef struct _FILE_OBJECT ; #line 13828 typedef struct _IRP ; #line 14078 typedef NTSTATUS ; #line 14163 typedef enum _DEVICE_RELATION_TYPE ; #line 14171 typedef struct _DEVICE_RELATIONS ; #line 14176 typedef enum _DEVICE_USAGE_NOTIFICATION_TYPE ; #line 14185 typedef struct _INTERFACE ; #line 14196 typedef struct _DEVICE_CAPABILITIES ; #line 14229 typedef struct _POWER_SEQUENCE ; #line 14235 typedef enum { BusQueryDeviceID = 0, BusQueryHardwareIDs = 1, BusQueryCompatibleIDs = 2, BusQueryInstanceID = 3, BusQueryDeviceSerialNumber = 4 } ; typedef ULONG ; #line 14252 typedef enum { DeviceTextDescription = 0, DeviceTextLocationInformation = 1 } ; #line 24 "C:/NTDDK/inc/pshpack4.h" #pragma warning(disable:4103) #pragma pack(push, 4) #line 14271 "C:/NTDDK/inc/ddk/ntddk.h" typedef struct _IO_STACK_LOCATION ; #line 27 "C:/NTDDK/inc/poppack.h" #pragma warning(disable:4103) #pragma pack(pop) #line 14615 "C:/NTDDK/inc/ddk/ntddk.h" typedef struct _SHARE_ACCESS ; #line 14635 typedef struct _CONFIGURATION_INFORMATION ; #line 14848 typedef struct _BOOTDISK_INFORMATION ; #line 15754 typedef struct _IO_REMOVE_LOCK_TRACKING_BLOCK ; typedef struct _IO_REMOVE_LOCK_COMMON_BLOCK ; #line 15764 typedef struct _IO_REMOVE_LOCK_DBG_BLOCK ; #line 15777 typedef struct _IO_REMOVE_LOCK ; #line 16009 typedef struct _IO_WORKITEM ; typedef void ; #line 16100 typedef enum { DevicePropertyDeviceDescription, DevicePropertyHardwareID, DevicePropertyCompatibleIDs, DevicePropertyBootConfiguration, DevicePropertyBootConfigurationTranslated, DevicePropertyClassName, DevicePropertyClassGuid, DevicePropertyDriverKeyName, DevicePropertyManufacturer, DevicePropertyFriendlyName, DevicePropertyLocationInformation, DevicePropertyPhysicalDeviceObjectName, DevicePropertyBusTypeGuid, DevicePropertyLegacyBusType, DevicePropertyBusNumber, DevicePropertyEnumeratorName, DevicePropertyAddress, DevicePropertyUINumber } ; typedef BOOLEAN ; #line 16129 typedef struct _DMA_ADAPTER ; #line 16135 typedef ULONG ; #line 16148 typedef struct _PNP_BUS_INFORMATION ; #line 16162 typedef struct _LEGACY_BUS_INFORMATION ; #line 16168 typedef struct _BUS_INTERFACE_STANDARD ; #line 16190 typedef BOOLEAN ; #line 16194 typedef NTSTATUS ; #line 16203 typedef NTSTATUS ; #line 16206 typedef NTSTATUS ; #line 16210 typedef NTSTATUS ; #line 16214 typedef NTSTATUS ; #line 16218 typedef void ; #line 16222 typedef NTSTATUS ; #line 16227 typedef void ; #line 16231 typedef struct _ACPI_INTERFACE_STANDARD ; #line 16255 typedef enum _ACPI_REG_TYPE ; #line 16268 typedef USHORT ; #line 16272 typedef void ; #line 16278 typedef struct ACPI_REGS_INTERFACE_STANDARD ; #line 16300 typedef struct { PVOID LinkNode ; ULONG StaticVector ; UCHAR Flags ; } ; #line 16314 typedef NTSTATUS ; #line 16329 typedef NTSTATUS ; #line 16336 typedef void ; #line 16343 typedef struct _INT_ROUTE_INTERFACE_STANDARD ; #line 16366 typedef struct _IO_ASSIGNED_RESOURCES ; #line 16490 typedef enum _IO_NOTIFICATION_EVENT_CATEGORY ; #line 16504 typedef NTSTATUS ; #line 16537 typedef void ; #line 16573 typedef enum _ARBITER_ACTION ; #line 16586 typedef struct _ARBITER_CONFLICT_INFO ; #line 16608 typedef struct _ARBITER_PARAMETERS ; #line 16719 typedef enum _ARBITER_REQUEST_SOURCE ; #line 16731 typedef enum _ARBITER_RESULT ; #line 16761 typedef struct _ARBITER_LIST_ENTRY ; #line 16832 typedef NTSTATUS ; #line 16853 typedef struct _ARBITER_INTERFACE ; #line 16880 typedef enum _RESOURCE_TRANSLATION_DIRECTION ; #line 16889 typedef NTSTATUS ; #line 16901 typedef NTSTATUS ; #line 16915 typedef struct _TRANSLATOR_INTERFACE ; #line 16931 typedef NTSTATUS ; #line 16945 typedef struct _LEGACY_DEVICE_DETECTION_INTERFACE ; #line 16959 typedef struct _PLUGPLAY_NOTIFICATION_HEADER ; #line 16972 typedef struct _HWPROFILE_CHANGE_NOTIFICATION ; #line 16986 typedef struct _DEVICE_INTERFACE_CHANGE_NOTIFICATION ; #line 17006 typedef struct _TARGET_DEVICE_REMOVAL_NOTIFICATION ; #line 17026 typedef struct _TARGET_DEVICE_CUSTOM_NOTIFICATION ; #line 17054 typedef struct _DEVICE_DESCRIPTION ; #line 17086 typedef BOOLEAN ; #line 17333 typedef void ; #line 17339 typedef struct _DEVICE_CONTROL_CONTEXT ; #line 17349 typedef PBUS_HANDLER ; #line 17355 typedef void ; #line 17365 typedef enum _HAL_QUERY_INFORMATION_CLASS ; #line 17381 typedef enum _HAL_SET_INFORMATION_CLASS ; #line 17388 typedef NTSTATUS ; #line 17405 typedef NTSTATUS ; #line 17420 typedef void ; #line 17429 typedef void ; #line 17438 typedef NTSTATUS ; #line 17447 typedef NTSTATUS ; #line 17456 typedef NTSTATUS ; #line 17466 typedef NTSTATUS ; #line 17475 typedef NTSTATUS ; #line 17486 typedef struct _PM_DISPATCH_TABLE ; #line 17492 typedef NTSTATUS ; #line 17505 typedef struct _DMA_ADAPTER ; #line 17520 typedef NTSTATUS ; #line 17543 typedef BOOLEAN ; #line 17553 typedef NTSTATUS ; #line 17566 typedef void ; #line 17572 typedef void ; #line 17578 typedef BOOLEAN ; #line 17588 typedef struct { ULONG Version ; pHalQuerySystemInformation HalQuerySystemInformation ; pHalSetSystemInformation HalSetSystemInformation ; pHalQueryBusSlots HalQueryBusSlots ; ULONG Spare1 ; pHalExamineMBR HalExamineMBR ; pHalIoAssignDriveLetters HalIoAssignDriveLetters ; pHalIoReadPartitionTable HalIoReadPartitionTable ; pHalIoSetPartitionInformation HalIoSetPartitionInformation ; pHalIoWritePartitionTable HalIoWritePartitionTable ; pHalHandlerForBus HalReferenceHandlerForBus ; pHalReferenceBusHandler HalReferenceBusHandler ; pHalReferenceBusHandler HalDereferenceBusHandler ; pHalInitPnpDriver HalInitPnpDriver ; pHalInitPowerManagement HalInitPowerManagement ; pHalGetDmaAdapter HalGetDmaAdapter ; pHalGetInterruptTranslator HalGetInterruptTranslator ; } ; #line 17650 typedef struct _HAL_BUS_INFORMATION ; #line 17658 typedef struct _HAL_PROFILE_SOURCE_INFORMATION ; #line 17665 typedef struct _HAL_PROFILE_SOURCE_INTERVAL ; #line 17671 typedef enum _HAL_DISPLAY_BIOS_INFORMATION ; #line 17678 typedef struct _HAL_POWER_INFORMATION ; #line 17683 typedef struct _HAL_PROCESSOR_SPEED_INFO ; #line 17688 typedef struct _HAL_CALLBACKS ; #line 17694 typedef struct _HAL_PROCESSOR_FEATURE ; #line 17706 typedef union _MCI_ADDR ; #line 17716 typedef enum { HAL_MCE_RECORD, HAL_MCA_RECORD } ; #line 17726 typedef struct _MCA_EXCEPTION ; #line 17752 typedef void ; #line 17762 typedef struct _MCA_DRIVER_INFO ; #line 17772 typedef struct _SCATTER_GATHER_ELEMENT ; #line 17778 #pragma warning(disable:4200) #line 17779 typedef struct _SCATTER_GATHER_LIST ; #line 17784 #pragma warning(default:4200) #line 17788 typedef struct _DMA_OPERATIONS ; typedef struct _DMA_ADAPTER ; #line 17797 typedef void ; #line 17801 typedef PVOID ; #line 17808 typedef void ; #line 17816 typedef NTSTATUS ; #line 17824 typedef BOOLEAN ; #line 17833 typedef void ; #line 17837 typedef void ; #line 17843 typedef PHYSICAL_ADDRESS ; #line 17852 typedef ULONG ; #line 17856 typedef ULONG ; #line 17860 typedef void ; #line 17868 typedef NTSTATUS ; #line 17880 typedef void ; #line 17887 typedef struct _DMA_OPERATIONS ; #line 18235 typedef void ; #line 18321 typedef struct _OBJECT_HANDLE_INFORMATION ; #line 18402 typedef struct _PCI_SLOT_NUMBER ; #line 18418 typedef struct _PCI_COMMON_CONFIG ; #line 18591 typedef struct _PCI_CAPABILITIES_HEADER ; #line 18600 typedef struct _PCI_PMC ; #line 18618 typedef struct _PCI_PMCSR ; #line 18628 typedef struct _PCI_PMCSR_BSE ; #line 18635 typedef struct _PCI_PM_CAPABILITY ; #line 18679 typedef struct _PCI_AGP_CAPABILITY ; #line 18720 typedef struct _PCI_MSI_CAPABILITY ; #line 18946 typedef void ; #line 18954 typedef void ; #line 18963 typedef void ; #line 18975 typedef struct _PCIBUSDATA ; #line 18986 typedef ULONG ; #line 18995 typedef void ; #line 19000 typedef void ; #line 19006 typedef struct _PCI_BUS_INTERFACE_STANDARD ; #line 19028 typedef BOOLEAN ; #line 19043 typedef struct _PCI_DEVICE_PRESENT_INTERFACE ; #line 96 "C:/NTDDK/inc/ntddpar.h" typedef struct _PAR_QUERY_INFORMATION ; #line 100 typedef struct _PAR_SET_INFORMATION ; #line 117 typedef struct _PAR_DEVICE_ID_SIZE_INFORMATION ; #line 128 typedef struct _PARCLASS_NEGOTIATION_MASK ; #line 103 "C:/NTDDK/inc/ddk/parallel.h" typedef struct _PARPORT_REMOVAL_RELATIONS ; #line 114 static UCHAR ModeQualifier___0[7] = {0xAA, 0x55, 0x00, 0xFF, 0x87, 0x78, 0xFF}; #line 117 static UCHAR LegacyZipModeQualifier___0[3] = {0x00, 0x3c, 0x20}; typedef enum { P12843DL_OFF, P12843DL_DOT3_DL, P12843DL_MLC_DL, P12843DL_DOT4_DL } ; #line 138 typedef BOOLEAN ; #line 144 typedef void ; #line 150 typedef ULONG ; #line 156 typedef NTSTATUS ; #line 163 typedef NTSTATUS ; #line 170 typedef NTSTATUS ; #line 177 typedef NTSTATUS ; #line 184 typedef NTSTATUS ; #line 191 typedef NTSTATUS ; #line 213 typedef struct _PARALLEL_PARCHIP_INFO ; #line 226 typedef struct _PARALLEL_PORT_INFORMATION ; #line 236 typedef struct _PARALLEL_PNP_INFORMATION ; #line 298 typedef struct _PARALLEL_1284_COMMAND ; #line 320 typedef struct _PARALLEL_CHIP_MODE ; #line 333 typedef void ; #line 339 typedef struct _PARALLEL_INTERRUPT_SERVICE_ROUTINE ; #line 351 typedef struct _PARALLEL_INTERRUPT_INFORMATION ; #line 363 typedef struct _MORE_PARALLEL_PORT_INFORMATION ; #line 372 typedef enum { SAFE_MODE, UNSAFE_MODE } ; #line 384 typedef USHORT ; #line 400 typedef NTSTATUS ; #line 411 typedef NTSTATUS ; #line 417 typedef NTSTATUS ; #line 423 typedef NTSTATUS ; #line 429 typedef NTSTATUS ; #line 439 typedef NTSTATUS ; #line 449 typedef NTSTATUS ; #line 456 typedef NTSTATUS ; #line 463 typedef struct _PARCLASS_INFORMATION ; #line 719 typedef enum { PHASE_UNKNOWN, PHASE_NEGOTIATION, PHASE_SETUP, PHASE_FORWARD_IDLE, PHASE_FORWARD_XFER, PHASE_FWD_TO_REV, PHASE_REVERSE_IDLE, PHASE_REVERSE_XFER, PHASE_REV_TO_FWD, PHASE_TERMINATE, PHASE_DATA_AVAILABLE, PHASE_DATA_NOT_AVAIL, PHASE_INTERRUPT_HOST } ; typedef enum { HW_MODE_COMPATIBILITY, HW_MODE_PS2, HW_MODE_FAST_CENTRONICS, HW_MODE_ECP, HW_MODE_EPP, HW_MODE_RESERVED, HW_MODE_TEST, HW_MODE_CONFIGURATION } ; #line 28 "C:/NTDDK/inc/ddk/wdm/wmilib.h" #pragma once #line 38 typedef struct { LPCGUID Guid ; ULONG InstanceCount ; ULONG Flags ; } ; #line 45 typedef NTSTATUS ; #line 101 typedef NTSTATUS ; #line 162 typedef NTSTATUS ; #line 206 typedef NTSTATUS ; #line 253 typedef NTSTATUS ; #line 306 typedef enum { WmiEventControl, WmiDataBlockControl } ; #line 312 typedef NTSTATUS ; #line 355 typedef struct _WMILIB_CONTEXT ; #line 411 typedef enum { IrpProcessed, IrpNotCompleted, IrpNotWmi, IrpForward } ; #line 13 "C:/NTDDK/inc/wmidata.h" typedef struct _MSWmi_MofData ; #line 51 typedef struct _MSWmi_ProviderInfo ; #line 66 typedef struct _MSWmi_PnPDeviceId ; #line 83 typedef struct _MSWmi_PnPInstanceNames ; #line 105 typedef struct _MSSmBios_RawSMBiosTables ; #line 147 typedef struct _MSPower_DeviceEnable ; #line 165 typedef struct _MSPower_DeviceWakeEnable ; #line 182 typedef struct _MSNdis_NetworkAddress ; #line 199 typedef struct _MSNdis_NetworkShortAddress ; #line 216 typedef struct _MSNdis_NetworkLinkSpeed ; #line 239 typedef struct _MSNdis_EnumerateAdapter ; #line 256 typedef struct _MSNdis_NotifyAdapterRemoval ; #line 273 typedef struct _MSNdis_NotifyAdapterArrival ; #line 291 typedef struct _MSNdis_NdisEnumerateVc ; #line 307 typedef struct _MSNdis_NotifyVcRemoval ; #line 323 typedef struct _MSNdis_NotifyVcArrival ; #line 338 typedef struct _MSNdis_HardwareStatus ; #line 356 typedef struct _MSNdis_MediaSupported ; #line 378 typedef struct _MSNdis_MediaInUse ; #line 400 typedef struct _MSNdis_MaximumLookahead ; #line 418 typedef struct _MSNdis_MaximumFrameSize ; #line 436 typedef struct _MSNdis_LinkSpeed ; #line 454 typedef struct _MSNdis_TransmitBufferSpace ; #line 472 typedef struct _MSNdis_ReceiveBufferSpace ; #line 490 typedef struct _MSNdis_TransmitBlockSize ; #line 508 typedef struct _MSNdis_ReceiveBlockSize ; #line 526 typedef struct _MSNdis_VendorID ; #line 544 typedef struct _MSNdis_VendorDescription ; #line 561 typedef struct _MSNdis_CurrentPacketFilter ; #line 579 typedef struct _MSNdis_CurrentLookahead ; #line 597 typedef struct _MSNdis_DriverVersion ; #line 615 typedef struct _MSNdis_MaximumTotalSize ; #line 633 typedef struct _MSNdis_MacOptions ; #line 651 typedef struct _MSNdis_MediaConnectStatus ; #line 669 typedef struct _MSNdis_MaximumSendPackets ; #line 687 typedef struct _MSNdis_VendorDriverVersion ; #line 705 typedef struct _MSNdis_TransmitsOk ; #line 723 typedef struct _MSNdis_ReceivesOk ; #line 741 typedef struct _MSNdis_TransmitsError ; #line 759 typedef struct _MSNdis_ReceiveError ; #line 777 typedef struct _MSNdis_ReceiveNoBuffer ; #line 795 typedef struct _MSNdis_CoHardwareStatus ; #line 813 typedef struct _MSNdis_CoMediaSupported ; #line 835 typedef struct _MSNdis_CoMediaInUse ; #line 857 typedef struct _MSNdis_CoLinkSpeed ; #line 875 typedef struct _MSNdis_CoVendorId ; #line 893 typedef struct _MSNdis_CoVendorDescription ; #line 910 typedef struct _MSNdis_CoDriverVersion ; #line 928 typedef struct _MSNdis_CoMacOptions ; #line 946 typedef struct _MSNdis_CoMediaConnectStatus ; #line 964 typedef struct _MSNdis_CoVendorDriverVersion ; #line 982 typedef struct _MSNdis_CoMinimumLinkSpeed ; #line 1000 typedef struct _MSNdis_CoTransmitPdusOk ; #line 1018 typedef struct _MSNdis_CoReceivePdusOk ; #line 1036 typedef struct _MSNdis_CoTransmitPduErrors ; #line 1054 typedef struct _MSNdis_CoReceivePduErrors ; #line 1072 typedef struct _MSNdis_CoReceivePdusNoBuffer ; #line 1090 typedef struct _MSNdis_AtmSupportedVcRates ; #line 1113 typedef struct _MSNdis_AtmSupportedServiceCategory ; #line 1131 typedef struct _MSNdis_AtmSupportedAalTypes ; #line 1149 typedef struct _MSNdis_AtmHardwareCurrentAddress ; #line 1167 typedef struct _MSNdis_AtmMaxActiveVcs ; #line 1185 typedef struct _MSNdis_AtmMaxActiveVciBits ; #line 1203 typedef struct _MSNdis_AtmMaxActiveVpiBits ; #line 1221 typedef struct _MSNdis_AtmMaxAal0PacketSize ; #line 1239 typedef struct _MSNdis_AtmMaxAal1PacketSize ; #line 1257 typedef struct _MSNdis_AtmMaxAal34PacketSize ; #line 1275 typedef struct _MSNdis_AtmMaxAal5PacketSize ; #line 1293 typedef struct _MSNdis_AtmReceiveCellsOk ; #line 1311 typedef struct _MSNdis_AtmTransmitCellsOk ; #line 1329 typedef struct _MSNdis_AtmReceiveCellsDropped ; #line 1347 typedef struct _MSNdis_EthernetPermanentAddress ; #line 1365 typedef struct _MSNdis_EthernetCurrentAddress ; #line 1383 typedef struct _MSNdis_EthernetMulticastList ; #line 1405 typedef struct _MSNdis_EthernetMaximumMulticastListSize ; #line 1423 typedef struct _MSNdis_EthernetMacOptions ; #line 1441 typedef struct _MSNdis_EthernetReceiveErrorAlignment ; #line 1459 typedef struct _MSNdis_EthernetOneTransmitCollision ; #line 1477 typedef struct _MSNdis_EthernetMoreTransmitCollisions ; #line 1495 typedef struct _MSNdis_TokenRingPermanentAddress ; #line 1513 typedef struct _MSNdis_TokenRingCurrentAddress ; #line 1531 typedef struct _MSNdis_TokenRingCurrentFunctional ; #line 1549 typedef struct _MSNdis_TokenRingCurrentGroup ; #line 1567 typedef struct _MSNdis_TokenRingLastOpenStatus ; #line 1585 typedef struct _MSNdis_TokenRingCurrentRingStatus ; #line 1603 typedef struct _MSNdis_TokenRingCurrentRingState ; #line 1621 typedef struct _MSNdis_TokenRingLineErrors ; #line 1639 typedef struct _MSNdis_TokenRingLostFrames ; #line 1657 typedef struct _MSNdis_FddiLongPermanentAddress ; #line 1675 typedef struct _MSNdis_FddiLongCurrentAddress ; #line 1693 typedef struct _MSNdis_FddiLongMulticastList ; #line 1715 typedef struct _MSNdis_FddiLongMaximumListSize ; #line 1733 typedef struct _MSNdis_FddiShortPermanentAddress ; #line 1751 typedef struct _MSNdis_FddiShortCurrentAddress ; #line 1769 typedef struct _MSNdis_FddiShortMulticastList ; #line 1791 typedef struct _MSNdis_FddiShortMaximumListSize ; #line 1809 typedef struct _MSNdis_FddiAttachmentType ; #line 1827 typedef struct _MSNdis_FddiUpstreamNodeLong ; #line 1845 typedef struct _MSNdis_FddiDownstreamNodeLong ; #line 1863 typedef struct _MSNdis_FddiFrameErrors ; #line 1881 typedef struct _MSNdis_FddiFramesLost ; #line 1899 typedef struct _MSNdis_FddiRingManagmentState ; #line 1917 typedef struct _MSNdis_FddiLctFailures ; #line 1935 typedef struct _MSNdis_FddiLemRejects ; #line 1953 typedef struct _MSNdis_FddiLConnectionState ; #line 1972 typedef struct _MSNdis_StatusResetStart ; #line 1988 typedef struct _MSNdis_StatusResetEnd ; #line 2004 typedef struct _MSNdis_StatusMediaConnect ; #line 2020 typedef struct _MSNdis_StatusMediaDisconnect ; #line 2035 typedef struct _MSNdis_StatusMediaSpecificIndication ; #line 2057 typedef struct _MSNdis_StatusLinkSpeedChange ; #line 2075 typedef struct _MSNdis_StatusProtocolBind ; #line 2092 typedef struct _MSNdis_StatusProtocolUnbind ; #line 2109 typedef struct _KEYBOARD_PORT_WMI_STD_DATA ; #line 2152 typedef struct _POINTER_PORT_WMI_STD_DATA ; #line 2205 typedef struct _MSMouse_ClassInformation ; #line 2223 typedef struct _MSKeyboard_ClassInformation ; #line 2241 typedef struct _MSAcpi_ThermalZoneTemperature ; #line 2304 typedef struct _WMI_DISK_GEOMETRY ; #line 2342 typedef struct _WMI_DISK_PERFORMANCE ; #line 2415 typedef struct _MSDiskDriver_Performance ; #line 2437 typedef struct _STORAGE_FAILURE_PREDICT_STATUS ; #line 2460 typedef struct _STORAGE_FAILURE_PREDICT_DATA ; #line 2483 typedef struct _STORAGE_FAILURE_PREDICT_EVENT ; #line 2513 typedef struct _STORAGE_FAILURE_PREDICT_FUNCTION ; #line 2528 typedef struct _MSIde_PortDeviceInfo ; #line 2556 typedef struct _MSSerial_PortName ; #line 2573 typedef struct _SERIAL_WMI_COMM_DATA ; #line 2723 typedef struct _SERIAL_WMI_HW_DATA ; #line 2770 typedef struct _SERIAL_WMI_PERF_DATA ; #line 2813 typedef struct _SERIAL_WMI_COMMPROP ; #line 2920 typedef struct _PARPORT_WMI_ALLOC_FREE_COUNTS ; #line 2943 typedef struct _PARALLEL_WMI_LOG_INFO ; #line 3041 typedef struct _REDBOOK_WMI_STD_DATA ; #line 3094 typedef struct _REDBOOK_WMI_PERF_DATA ; #line 3137 typedef struct _RegisteredGuids ; #line 96 "parport.h" typedef struct _DEVICE_EXTENSION ; #line 265 typedef struct _SYNCHRONIZED_COUNT_CONTEXT ; #line 270 typedef struct _SYNCHRONIZED_LIST_CONTEXT ; #line 275 typedef struct _SYNCHRONIZED_DISCONNECT_CONTEXT ; #line 280 typedef struct _ISR_LIST_ENTRY ; #line 288 typedef struct _REMOVAL_RELATIONS_LIST_ENTRY ; #line 13 "debug.c" PCHAR PnpIrpName[] = {"IRP_MN_START_DEVICE 0x00", "IRP_MN_QUERY_REMOVE_DEVICE 0x01", "IRP_MN_REMOVE_DEVICE 0x02", "IRP_MN_CANCEL_REMOVE_DEVICE 0x03", "IRP_MN_STOP_DEVICE 0x04", "IRP_MN_QUERY_STOP_DEVICE 0x05", "IRP_MN_CANCEL_STOP_DEVICE 0x06", "IRP_MN_QUERY_DEVICE_RELATIONS 0x07", "IRP_MN_QUERY_INTERFACE 0x08", "IRP_MN_QUERY_CAPABILITIES 0x09", "IRP_MN_QUERY_RESOURCES 0x0A", "IRP_MN_QUERY_RESOURCE_REQUIREMENTS 0x0B", "IRP_MN_QUERY_DEVICE_TEXT 0x0C", "IRP_MN_FILTER_RESOURCE_REQUIREMENTS 0x0D", " unused MinorFunction 0x0E", "IRP_MN_READ_CONFIG 0x0F", "IRP_MN_WRITE_CONFIG 0x10", "IRP_MN_EJECT 0x11", "IRP_MN_SET_LOCK 0x12", "IRP_MN_QUERY_ID 0x13", "IRP_MN_QUERY_PNP_DEVICE_STATE 0x14", "IRP_MN_QUERY_BUS_INFORMATION 0x15", "IRP_MN_DEVICE_USAGE_NOTIFICATION 0x16", "IRP_MN_SURPRISE_REMOVAL 0x17", "IRP_MN_QUERY_LEGACY_BUS_INFORMATION 0x18"}; #line 42 void PptDebugDumpPnpIrpInfo(PDEVICE_OBJECT DeviceObject , PIRP Irp ) { #line 45 PDEVICE_EXTENSION extension = DeviceObject->DeviceExtension; PIO_STACK_LOCATION irpStack = ((Irp->Tail).Overlay).CurrentStackLocation; #line 47 PCHAR irpName ; #line 49 if(irpStack->MinorFunction <= 0x18) { #line 50 irpName = PnpIrpName[irpStack->MinorFunction]; } else { #line 52 do { #line 52 ; } while(0); #line 53 irpName = " - MinorFunction > 0x18 - don\'t handle "; } #line 56 do { #line 56 ; } while(0); } NTSTATUS PptAcquireRemoveLock(PIO_REMOVE_LOCK RemoveLock , PVOID Tag ) { #line 67 NTSTATUS status ; #line 69 status = IoAcquireRemoveLockEx(RemoveLock, Tag, "debug.c", 69, sizeof(IO_REMOVE_LOCK )); return status; } void PptReleaseRemoveLock(PIO_REMOVE_LOCK RemoveLock , PVOID Tag ) { #line 81 IoReleaseRemoveLockEx(RemoveLock, Tag, sizeof(IO_REMOVE_LOCK )); } void PptReleaseRemoveLockAndWait(PIO_REMOVE_LOCK RemoveLock , PVOID Tag ) { #line 91 IoReleaseRemoveLockAndWaitEx(RemoveLock, Tag, sizeof(IO_REMOVE_LOCK )); } #line 95 void PptDebugDumpResourceList(PIO_RESOURCE_LIST ResourceList ) { #line 100 ULONG count = ResourceList->Count; ULONG i ; PIO_RESOURCE_DESCRIPTOR curDesc ; #line 104 do { #line 104 ; } while(0); #line 106 for(i = 0, curDesc = ResourceList->Descriptors; i < count; ++ i, ++ curDesc) { #line 107 switch(curDesc->Type) { #line 108 case 2: #line 108 ; do { #line 109 ; } while(0); #line 110 break; case 4: #line 111 ; do { #line 112 ; } while(0); #line 113 break; case 1: #line 114 ; do { #line 115 ; } while(0); #line 116 break; case 0: #line 117 ; do { #line 118 ; } while(0); #line 119 break; default : #line 120 ; do { #line 121 ; } while(0); } } } #line 126 void PptDebugDumpResourceRequirementsList(PIO_RESOURCE_REQUIREMENTS_LIST ResourceRequirementsList ) { #line 131 ULONG listCount = ResourceRequirementsList->AlternativeLists; PIO_RESOURCE_LIST curList ; ULONG i ; #line 135 do { #line 135 ; } while(0); #line 137 i = 0; curList = ResourceRequirementsList->List; while(i < listCount) { #line 140 do { #line 140 ; } while(0); #line 141 PptDebugDumpResourceList(curList); curList = (PIO_RESOURCE_LIST )(curList->Descriptors + curList->Count); #line 143 ++ i; } } #line 16 "C:/Program Files/Microsoft Visual Studio/VC98/include/excpt.h" #pragma once #line 32 #pragma pack(push, 8) #line 72 typedef enum _EXCEPTION_DISPOSITION ; #line 89 struct _EXCEPTION_RECORD ; #line 90 struct _CONTEXT ; #line 155 #pragma pack(pop) #line 25 "C:/NTDDK/inc/ntdef.h" #pragma once #line 15 "C:/Program Files/Microsoft Visual Studio/VC98/include/ctype.h" #pragma once #line 60 typedef unsigned short ; #line 66 typedef wchar_t ; #line 67 typedef wchar_t ; #line 127 "C:/NTDDK/inc/ntdef.h" typedef unsigned long ; #line 25 "C:/NTDDK/inc/basetsd.h" #pragma once #line 36 typedef int ; #line 37 typedef int ; #line 43 typedef unsigned int ; #line 44 typedef unsigned int ; #line 45 typedef unsigned int ; #line 84 typedef int ; #line 85 typedef unsigned int ; typedef long ; #line 88 typedef unsigned long ; #line 248 typedef unsigned short ; #line 249 typedef short ; #line 250 typedef unsigned long ; #line 288 typedef ULONG_PTR ; #line 289 typedef LONG_PTR ; #line 295 typedef ULONG_PTR ; #line 301 typedef __int64 ; #line 302 typedef __int64 ; #line 309 typedef unsigned __int64 ; #line 310 typedef unsigned __int64 ; #line 311 typedef unsigned __int64 ; #line 217 "C:/NTDDK/inc/ntdef.h" typedef void ; #line 218 typedef void ; #line 266 typedef char ; #line 267 typedef short ; #line 268 typedef long ; #line 276 typedef wchar_t ; #line 282 typedef WCHAR ; #line 283 typedef WCHAR ; #line 284 typedef const WCHAR ; #line 285 typedef WCHAR ; #line 286 typedef WCHAR ; typedef const WCHAR ; #line 293 typedef CHAR ; #line 294 typedef CHAR ; typedef const CHAR ; #line 297 typedef CHAR ; #line 298 typedef CHAR ; #line 299 typedef const CHAR ; #line 321 typedef char ; #line 322 typedef unsigned char ; #line 326 typedef LPSTR ; #line 327 typedef LPSTR ; #line 328 typedef LPCSTR ; #line 337 typedef double ; typedef struct _QUAD ; #line 349 typedef SHORT ; #line 350 typedef LONG ; #line 351 typedef QUAD ; #line 360 typedef unsigned char ; #line 361 typedef unsigned short ; #line 362 typedef unsigned long ; #line 363 typedef QUAD ; #line 369 typedef UCHAR ; #line 370 typedef USHORT ; #line 371 typedef ULONG ; #line 372 typedef UQUAD ; #line 378 typedef signed char ; #line 379 typedef SCHAR ; #line 394 typedef void ; #line 400 typedef HANDLE ; #line 406 typedef UCHAR ; #line 407 typedef USHORT ; #line 408 typedef ULONG ; #line 414 typedef LONG ; #line 478 typedef char ; #line 479 typedef short ; #line 480 typedef ULONG ; typedef CCHAR ; #line 483 typedef CSHORT ; #line 484 typedef CLONG ; #line 492 typedef ULONG ; #line 493 typedef PULONG ; #line 494 typedef USHORT ; #line 500 typedef ULONG ; #line 501 typedef ULONG ; #line 508 typedef LONG ; typedef NTSTATUS ; #line 602 typedef struct _FLOAT128 ; #line 607 typedef FLOAT128 ; #line 621 typedef __int64 ; #line 622 typedef unsigned __int64 ; #line 639 typedef LONGLONG ; #line 640 typedef ULONGLONG ; #line 644 typedef LONGLONG ; #line 649 typedef union _LARGE_INTEGER ; #line 662 typedef LARGE_INTEGER ; #line 668 typedef union _ULARGE_INTEGER ; #line 681 typedef ULARGE_INTEGER ; #line 690 typedef struct _LUID ; #line 696 typedef ULONGLONG ; #line 697 typedef DWORDLONG ; #line 707 typedef LARGE_INTEGER ; #line 831 #pragma warning(push) #pragma warning(disable:4035) __inline ULONGLONG __stdcall Int64ShllMod32___2(ULONGLONG Value , ULONG ShiftCount ) { #line 842 __asm { mov ecx, ShiftCount mov eax, dword ptr [Value] mov edx, dword ptr [Value+4] shld edx, eax, cl shl eax, cl }; } #line 845 __inline LONGLONG __stdcall Int64ShraMod32___2(LONGLONG Value , ULONG ShiftCount ) { #line 852 __asm { mov ecx, ShiftCount mov eax, dword ptr [Value] mov edx, dword ptr [Value+4] shrd eax, edx, cl sar edx, cl }; } #line 855 __inline ULONGLONG __stdcall Int64ShrlMod32___2(ULONGLONG Value , ULONG ShiftCount ) { #line 862 __asm { mov ecx, ShiftCount mov eax, dword ptr [Value] mov edx, dword ptr [Value+4] shrd eax, edx, cl shr edx, cl }; } #pragma warning(pop) #line 956 typedef enum _EVENT_TYPE ; #line 965 typedef enum _TIMER_TYPE ; #line 974 typedef enum _WAIT_TYPE ; #line 983 typedef CHAR ; #line 984 typedef const char ; #line 991 typedef struct _STRING ; #line 999 typedef STRING ; typedef STRING ; #line 1002 typedef PSTRING ; typedef STRING ; #line 1005 typedef PSTRING ; #line 1011 typedef struct _CSTRING ; #line 1016 typedef CSTRING ; #line 1019 typedef STRING ; #line 1020 typedef PSTRING ; #line 1027 typedef struct _UNICODE_STRING ; #line 1036 typedef UNICODE_STRING ; #line 1037 typedef const UNICODE_STRING ; #line 1046 typedef UCHAR ; #line 1047 typedef BOOLEAN ; #line 1057 typedef struct _LIST_ENTRY ; #line 1067 typedef struct _SINGLE_LIST_ENTRY ; #line 1078 typedef struct LIST_ENTRY32 ; #line 1082 typedef LIST_ENTRY32 ; typedef struct LIST_ENTRY64 ; #line 1088 typedef LIST_ENTRY64 ; #line 1127 typedef struct _STRING32 ; #line 1132 typedef STRING32 ; typedef STRING32 ; #line 1135 typedef UNICODE_STRING32 ; typedef STRING32 ; #line 1138 typedef ANSI_STRING32 ; #line 1141 typedef struct _STRING64 ; #line 1146 typedef STRING64 ; typedef STRING64 ; #line 1149 typedef UNICODE_STRING64 ; typedef STRING64 ; #line 1152 typedef ANSI_STRING64 ; #line 1173 typedef struct _OBJECT_ATTRIBUTES ; #line 1181 typedef OBJECT_ATTRIBUTES ; #line 17 "C:/NTDDK/inc/guiddef.h" typedef struct _GUID ; #line 70 typedef GUID ; #line 75 typedef const GUID ; #line 81 typedef GUID ; #line 82 typedef IID ; #line 85 typedef GUID ; #line 86 typedef CLSID ; #line 89 typedef GUID ; #line 90 typedef FMTID ; #line 16 "C:/NTDDK/inc/string.h" #pragma once #line 54 typedef unsigned int ; #line 1233 "C:/NTDDK/inc/ntdef.h" typedef struct _OBJECTID ; #line 1288 struct _CONTEXT ; #line 1289 struct _EXCEPTION_RECORD ; typedef EXCEPTION_DISPOSITION ; #line 1306 typedef UCHAR ; typedef KIRQL ; #line 1316 typedef enum _NT_PRODUCT_TYPE ; #line 1329 typedef enum _SUITE_TYPE ; #line 75 "C:/NTDDK/inc/ddk/ntddk.h" typedef struct _KTHREAD ; #line 76 typedef struct _ETHREAD ; #line 77 typedef struct _EPROCESS ; #line 78 typedef struct _PEB ; #line 79 typedef struct _KINTERRUPT ; #line 80 typedef struct _IO_TIMER ; #line 81 typedef struct _OBJECT_TYPE ; #line 82 typedef struct _CALLBACK_OBJECT ; #line 83 typedef struct _DEVICE_HANDLER_OBJECT ; #line 84 typedef struct _BUS_HANDLER ; #line 143 typedef union _SLIST_HEADER ; #line 204 typedef CCHAR ; typedef enum _MODE ; #line 222 struct _KAPC ; typedef void ; #line 232 typedef void ; #line 242 typedef void ; #line 248 typedef BOOLEAN ; #line 254 typedef BOOLEAN ; #line 265 typedef struct _KAPC ; #line 292 struct _KDPC ; typedef void ; #line 351 typedef enum _KDPC_IMPORTANCE ; #line 361 typedef struct _KDPC ; #line 377 typedef PVOID ; typedef void ; #line 392 typedef struct _KIPI_COUNTS ; #line 443 typedef struct _MDL ; #line 532 typedef PVOID ; #line 538 typedef PVOID ; #line 544 typedef PVOID ; typedef ULONG ; #line 547 typedef ACCESS_MASK ; #line 597 typedef struct _GENERIC_MAPPING ; #line 603 typedef GENERIC_MAPPING ; #line 24 "C:/NTDDK/inc/pshpack4.h" #pragma warning(disable:4103) #pragma pack(push, 4) #line 618 "C:/NTDDK/inc/ddk/ntddk.h" typedef struct _LUID_AND_ATTRIBUTES ; #line 622 typedef LUID_AND_ATTRIBUTES ; #line 623 typedef LUID_AND_ATTRIBUTES_ARRAY ; #line 27 "C:/NTDDK/inc/poppack.h" #pragma warning(disable:4103) #pragma pack(pop) #line 642 "C:/NTDDK/inc/ddk/ntddk.h" typedef struct _ACL ; #line 649 typedef ACL ; #line 681 typedef struct _PRIVILEGE_SET ; #line 735 typedef enum _SECURITY_IMPERSONATION_LEVEL ; #line 753 typedef BOOLEAN ; #line 762 typedef struct _SECURITY_QUALITY_OF_SERVICE ; #line 774 typedef struct _SE_IMPERSONATION_STATE ; #line 782 typedef ULONG ; #line 809 typedef ULONG ; #line 810 typedef KAFFINITY ; #line 816 typedef LONG ; #line 824 typedef ULONG_PTR ; #line 825 typedef KSPIN_LOCK ; #line 833 typedef void ; #line 842 typedef enum _KPROFILE_SOURCE ; #line 1079 typedef NTSTATUS ; #line 1088 typedef struct _RTL_QUERY_REGISTRY_TABLE ; #line 1952 #pragma warning(push) #pragma warning(disable:4035) #line 2019 #pragma warning(pop) #line 2214 typedef struct _TIME_FIELDS ; #line 2224 typedef TIME_FIELDS ; #line 2499 typedef struct _RTL_BITMAP ; #line 2503 typedef RTL_BITMAP ; #line 2627 typedef struct _RTL_BITMAP_RUN ; #line 2633 typedef RTL_BITMAP_RUN ; #line 2886 typedef struct _RTL_RANGE ; #line 2924 typedef struct _RTL_RANGE_LIST ; #line 2950 typedef struct _RANGE_LIST_ITERATOR ; #line 3019 typedef BOOLEAN ; #line 3155 typedef struct _OSVERSIONINFOA ; #line 3164 typedef struct _OSVERSIONINFOW ; #line 3177 typedef OSVERSIONINFOA ; #line 3178 typedef POSVERSIONINFOA ; #line 3179 typedef LPOSVERSIONINFOA ; #line 3182 typedef struct _OSVERSIONINFOEXA ; #line 3195 typedef struct _OSVERSIONINFOEXW ; #line 3213 typedef OSVERSIONINFOEXA ; #line 3214 typedef POSVERSIONINFOEXA ; #line 3215 typedef LPOSVERSIONINFOEXA ; #line 3648 typedef struct _IO_STATUS_BLOCK ; #line 3669 typedef void ; #line 3685 typedef enum _FILE_INFORMATION_CLASS ; #line 3731 typedef struct _FILE_BASIC_INFORMATION ; #line 3739 typedef struct _FILE_STANDARD_INFORMATION ; #line 3747 typedef struct _FILE_POSITION_INFORMATION ; #line 3751 typedef struct _FILE_ALIGNMENT_INFORMATION ; #line 3755 typedef struct _FILE_NAME_INFORMATION ; #line 3760 typedef struct _FILE_NETWORK_OPEN_INFORMATION ; #line 3770 typedef struct _FILE_ATTRIBUTE_TAG_INFORMATION ; #line 3775 typedef struct _FILE_DISPOSITION_INFORMATION ; #line 3779 typedef struct _FILE_END_OF_FILE_INFORMATION ; #line 3784 typedef struct _FILE_FULL_EA_INFORMATION ; #line 3798 typedef enum _FSINFOCLASS ; #line 3810 typedef struct _FILE_FS_DEVICE_INFORMATION ; #line 3820 typedef union _FILE_SEGMENT_ELEMENT ; #line 3829 typedef enum _INTERFACE_TYPE ; #line 3854 typedef enum _DMA_WIDTH ; #line 3865 typedef enum _DMA_SPEED ; #line 3879 typedef void ; #line 3880 typedef void ; #line 3888 typedef enum _BUS_DATA_TYPE ; #line 3910 typedef struct _IO_ERROR_LOG_PACKET ; #line 3931 typedef struct _IO_ERROR_LOG_MESSAGE ; #line 4074 typedef struct _KEY_BASIC_INFORMATION ; #line 4081 typedef struct _KEY_NODE_INFORMATION ; #line 4091 typedef struct _KEY_FULL_INFORMATION ; #line 4106 typedef struct _KEY_NAME_INFORMATION ; #line 4112 typedef enum _KEY_INFORMATION_CLASS ; #line 4122 typedef struct _KEY_WRITE_TIME_INFORMATION ; #line 4126 typedef enum _KEY_SET_INFORMATION_CLASS ; #line 4134 typedef struct _KEY_VALUE_BASIC_INFORMATION ; #line 4141 typedef struct _KEY_VALUE_FULL_INFORMATION ; #line 4151 typedef struct _KEY_VALUE_PARTIAL_INFORMATION ; #line 4158 typedef struct _KEY_VALUE_PARTIAL_INFORMATION_ALIGN64 ; #line 4164 typedef struct _KEY_VALUE_ENTRY ; #line 4171 typedef enum _KEY_VALUE_INFORMATION_CLASS ; #line 4210 typedef struct _OBJECT_NAME_INFORMATION ; #line 4221 typedef enum _SECTION_INHERIT ; #line 4294 typedef struct _CLIENT_ID ; #line 4298 typedef CLIENT_ID ; #line 4315 typedef struct _NT_TIB ; #line 4327 typedef NT_TIB ; #line 4332 typedef enum _PROCESSINFOCLASS ; #line 4366 typedef enum _THREADINFOCLASS ; #line 4395 typedef struct _PROCESS_WS_WATCH_INFORMATION ; #line 4405 typedef struct _PROCESS_BASIC_INFORMATION ; #line 4413 typedef PROCESS_BASIC_INFORMATION ; #line 4422 typedef struct _PROCESS_DEVICEMAP_INFORMATION ; #line 4440 typedef struct _PROCESS_SESSION_INFORMATION ; #line 4454 typedef struct _QUOTA_LIMITS ; #line 4462 typedef QUOTA_LIMITS ; #line 4472 typedef struct _IO_COUNTERS ; #line 4480 typedef IO_COUNTERS ; #line 4488 typedef struct _VM_COUNTERS ; #line 4501 typedef VM_COUNTERS ; #line 4508 typedef struct _POOLED_USAGE_AND_LIMITS ; #line 4519 typedef POOLED_USAGE_AND_LIMITS ; #line 4528 typedef struct _PROCESS_ACCESS_TOKEN ; #line 4555 typedef struct _KERNEL_USER_TIMES ; #line 4561 typedef KERNEL_USER_TIMES ; #line 4587 typedef enum _SYSTEM_POWER_STATE ; #line 4598 typedef enum { PowerActionNone = 0, PowerActionReserved, PowerActionSleep, PowerActionHibernate, PowerActionShutdown, PowerActionShutdownReset, PowerActionShutdownOff, PowerActionWarmEject } ; typedef enum _DEVICE_POWER_STATE ; #line 4618 typedef union _POWER_STATE ; #line 4623 typedef enum _POWER_STATE_TYPE ; #line 4654 typedef ULONG ; typedef enum { LT_DONT_CARE, LT_LOWEST_LATENCY } ; #line 4663 typedef enum { SystemPowerPolicyAc, SystemPowerPolicyDc, VerifySystemPolicyAc, VerifySystemPolicyDc, SystemPowerCapabilities, SystemBatteryState, SystemPowerStateHandler, ProcessorStateHandler, SystemPowerPolicyCurrent, AdministratorPowerPolicy, SystemReserveHiberFile, ProcessorInformation, SystemPowerInformation } ; #line 4690 typedef ULONG ; typedef LONG ; #line 4693 typedef ULONG ; #line 4719 typedef union _MCI_STATS ; #line 4978 typedef struct _KPCR ; #line 5006 typedef KPCR ; #line 5012 typedef struct _KFLOATING_SAVE ; #line 5153 typedef enum _INTERLOCKED_RESULT ; #line 5252 #pragma warning(disable:4035) #line 6994 typedef struct _KSYSTEM_TIME ; #line 7014 #pragma warning(push) #pragma warning(disable:4164) #line 7019 #pragma function(_enable) #line 7020 #pragma function(_disable) #line 7024 #pragma warning(pop) #line 7085 typedef struct _FLOATING_SAVE_AREA ; #line 7097 typedef FLOATING_SAVE_AREA ; #line 7109 typedef struct _CONTEXT ; #line 7197 typedef CONTEXT ; #line 7826 typedef void ; #line 7850 typedef enum _ALTERNATIVE_ARCHITECTURE_TYPE ; #line 7899 typedef struct _KUSER_SHARED_DATA ; #line 8123 typedef enum _CM_SERVICE_NODE_TYPE ; #line 8132 typedef enum _CM_SERVICE_LOAD_TYPE ; #line 8140 typedef enum _CM_ERROR_CONTROL_TYPE ; #line 8172 typedef int ; #line 8198 typedef enum _CM_SHARE_DISPOSITION ; #line 8211 typedef PVOID ; #line 24 "C:/NTDDK/inc/pshpack4.h" #pragma warning(disable:4103) #pragma pack(push, 4) #line 8309 "C:/NTDDK/inc/ddk/ntddk.h" typedef struct _CM_PARTIAL_RESOURCE_DESCRIPTOR ; #line 27 "C:/NTDDK/inc/poppack.h" #pragma warning(disable:4103) #pragma pack(pop) #line 8419 "C:/NTDDK/inc/ddk/ntddk.h" typedef struct _CM_PARTIAL_RESOURCE_LIST ; #line 8443 typedef struct _CM_FULL_RESOURCE_DESCRIPTOR ; #line 8454 typedef struct _CM_RESOURCE_LIST ; #line 8471 typedef struct _DEVICE_FLAGS ; #line 8485 typedef struct _CM_COMPONENT_INFORMATION ; #line 8503 typedef struct _CM_ROM_BLOCK ; #line 24 "C:/NTDDK/inc/pshpack1.h" #pragma warning(disable:4103) #pragma pack(push, 1) #line 8518 "C:/NTDDK/inc/ddk/ntddk.h" typedef struct _CM_INT13_DRIVE_PARAMETER ; #line 8532 typedef struct _CM_MCA_POS_DATA ; #line 8544 typedef struct _EISA_MEMORY_TYPE ; #line 8554 typedef struct _EISA_MEMORY_CONFIGURATION ; #line 8567 typedef struct _EISA_IRQ_DESCRIPTOR ; #line 8575 typedef struct _EISA_IRQ_CONFIGURATION ; #line 8585 typedef struct _DMA_CONFIGURATION_BYTE0 ; #line 8592 typedef struct _DMA_CONFIGURATION_BYTE1 ; #line 8599 typedef struct _EISA_DMA_CONFIGURATION ; #line 8609 typedef struct _EISA_PORT_DESCRIPTOR ; #line 8616 typedef struct _EISA_PORT_CONFIGURATION ; #line 8628 typedef struct _CM_EISA_SLOT_INFORMATION ; #line 8644 typedef struct _CM_EISA_FUNCTION_INFORMATION ; #line 8678 typedef struct _CM_PNP_BIOS_DEVICE_NODE ; #line 8692 typedef struct _CM_PNP_BIOS_INSTALLATION_CHECK ; #line 27 "C:/NTDDK/inc/poppack.h" #pragma warning(disable:4103) #pragma pack(pop) #line 8761 "C:/NTDDK/inc/ddk/ntddk.h" typedef struct _CM_SCSI_DEVICE_DATA ; #line 8775 typedef struct _CM_VIDEO_DEVICE_DATA ; #line 8785 typedef struct _CM_SONIC_DEVICE_DATA ; #line 8796 typedef struct _CM_SERIAL_DEVICE_DATA ; #line 8810 typedef struct _CM_MONITOR_DEVICE_DATA ; #line 8844 typedef struct _CM_FLOPPY_DEVICE_DATA ; #line 8881 typedef struct _CM_KEYBOARD_DEVICE_DATA ; #line 8893 typedef struct _CM_DISK_GEOMETRY_DEVICE_DATA ; #line 8905 typedef struct _CM_PCCARD_DEVICE_DATA ; #line 8944 typedef struct _IO_RESOURCE_DESCRIPTOR ; #line 9027 typedef struct _IO_RESOURCE_LIST ; #line 9036 typedef struct _IO_RESOURCE_REQUIREMENTS_LIST ; #line 9065 typedef struct _EXCEPTION_RECORD ; #line 9074 typedef EXCEPTION_RECORD ; typedef struct _EXCEPTION_RECORD32 ; #line 9085 typedef struct _EXCEPTION_RECORD64 ; #line 9099 typedef struct _EXCEPTION_POINTERS ; #line 9111 typedef enum _CONFIGURATION_TYPE ; #line 9161 typedef enum _KINTERRUPT_MODE ; #line 9170 typedef enum _KWAIT_REASON ; #line 9207 typedef struct _DISPATCHER_HEADER ; #line 9217 typedef struct _KWAIT_BLOCK ; #line 9230 typedef void ; #line 9244 typedef struct _KDEVICE_QUEUE ; #line 9252 typedef struct _KDEVICE_QUEUE_ENTRY ; #line 9263 typedef struct _KEVENT ; #line 9271 typedef BOOLEAN ; #line 9281 typedef struct _KMUTANT ; #line 9294 typedef struct _KSEMAPHORE ; #line 9304 typedef struct _KTIMER ; #line 9899 typedef enum _KBUGCHECK_BUFFER_DUMP_STATE ; #line 9907 typedef void ; #line 9914 typedef struct _KBUGCHECK_CALLBACK_RECORD ; #line 10002 typedef void ; #line 10020 typedef LOGICAL ; #line 10037 typedef void ; #line 10053 typedef enum _MEMORY_CACHING_TYPE_ORIG ; #line 10057 typedef enum _MEMORY_CACHING_TYPE ; #line 10087 typedef struct _DBGKD_DEBUG_DATA_HEADER64 ; #line 10115 typedef enum _POOL_TYPE ; #line 10195 typedef enum _EX_POOL_PRIORITY ; #line 10247 typedef struct _FAST_MUTEX ; #line 10574 typedef PVOID ; #line 10582 typedef void ; #line 10588 typedef struct _GENERAL_LOOKASIDE ; #line 10619 typedef struct _NPAGED_LOOKASIDE_LIST ; #line 10729 typedef struct _PAGED_LOOKASIDE_LIST ; #line 10882 typedef enum _WORK_QUEUE_TYPE ; #line 10889 typedef void ; #line 10895 typedef struct _WORK_QUEUE_ITEM ; #line 10926 typedef struct _ZONE_SEGMENT_HEADER ; #line 10931 typedef struct _ZONE_HEADER ; #line 11156 typedef ULONG_PTR ; #line 11157 typedef ERESOURCE_THREAD ; typedef struct _OWNER_ENTRY ; #line 11168 typedef struct _ERESOURCE ; #line 11197 typedef struct _RESOURCE_HASH_ENTRY ; #line 11204 typedef struct _RESOURCE_PERFORMANCE_DATA ; #line 11429 typedef struct _CALLBACK_OBJECT ; typedef void ; #line 11474 typedef GUID ; #line 11862 typedef enum _MM_SYSTEM_SIZE ; #line 11884 typedef enum _LOCK_OPERATION ; #line 11970 typedef enum _MM_PAGE_PRIORITY ; #line 11999 typedef struct _PHYSICAL_MEMORY_RANGE ; #line 12385 typedef NTSTATUS ; #line 12389 typedef NTSTATUS ; #line 12399 struct _DRIVER_OBJECT ; #line 12411 typedef enum _SECURITY_OPERATION_CODE ; #line 12426 typedef struct _SECURITY_SUBJECT_CONTEXT ; #line 12448 typedef struct _INITIAL_PRIVILEGE_SET ; #line 12462 typedef struct _ACCESS_STATE ; #line 12571 typedef void ; #line 12585 typedef void ; #line 12602 typedef struct _IMAGE_INFO ; #line 12620 typedef void ; #line 12859 typedef NTSTATUS ; #line 12878 typedef enum _IO_QUERY_DEVICE_DATA_FORMAT ; #line 12890 typedef enum _CREATE_FILE_TYPE ; #line 12905 struct _DEVICE_DESCRIPTION ; #line 12906 struct _DEVICE_OBJECT ; #line 12907 struct _DMA_ADAPTER ; #line 12908 struct _DRIVER_OBJECT ; #line 12909 struct _DRIVE_LAYOUT_INFORMATION ; #line 12910 struct _DISK_PARTITION ; #line 12911 struct _FILE_OBJECT ; #line 12912 struct _IRP ; #line 12913 struct _SCSI_REQUEST_BLOCK ; #line 12919 typedef void ; #line 12932 typedef void ; #line 12943 typedef NTSTATUS ; #line 12955 typedef void ; #line 12968 typedef void ; #line 12979 typedef NTSTATUS ; #line 12990 typedef void ; #line 13001 typedef void ; #line 13011 typedef NTSTATUS ; #line 13025 typedef BOOLEAN ; #line 13038 typedef BOOLEAN ; #line 13051 typedef BOOLEAN ; #line 13068 typedef BOOLEAN ; #line 13078 typedef BOOLEAN ; #line 13092 typedef BOOLEAN ; #line 13106 typedef BOOLEAN ; #line 13118 typedef BOOLEAN ; #line 13127 typedef BOOLEAN ; #line 13141 typedef BOOLEAN ; #line 13161 typedef void ; #line 13167 typedef void ; #line 13179 typedef void ; #line 13193 typedef BOOLEAN ; #line 13207 typedef BOOLEAN ; #line 13219 typedef BOOLEAN ; #line 13227 typedef BOOLEAN ; #line 13239 typedef BOOLEAN ; #line 13253 typedef NTSTATUS ; #line 13262 typedef NTSTATUS ; #line 13275 typedef NTSTATUS ; #line 13282 typedef NTSTATUS ; #line 13289 typedef BOOLEAN ; #line 13304 typedef BOOLEAN ; #line 13319 typedef BOOLEAN ; #line 13327 typedef BOOLEAN ; #line 13336 typedef BOOLEAN ; #line 13350 typedef struct _FAST_IO_DISPATCH ; #line 13386 typedef enum _IO_ALLOCATION_ACTION ; #line 13396 typedef IO_ALLOCATION_ACTION ; #line 13410 typedef struct _IO_SECURITY_CONTEXT ; #line 13434 typedef struct _VPB ; #line 13482 typedef struct _ADAPTER_OBJECT ; #line 13491 typedef struct _WAIT_CONTEXT_BLOCK ; #line 13503 typedef struct _CONTROLLER_OBJECT ; #line 13537 typedef struct _DEVICE_OBJECT ; #line 13575 typedef struct _DEVICE_OBJECT ; #line 13578 struct _DEVICE_OBJECT_POWER_EXTENSION ; typedef struct _DEVOBJ_EXTENSION ; #line 13608 typedef struct _DRIVER_EXTENSION ; #line 13645 typedef struct _DRIVER_OBJECT ; #line 13706 typedef struct _DRIVER_OBJECT ; #line 13715 typedef struct _SECTION_OBJECT_POINTERS ; #line 13720 typedef SECTION_OBJECT_POINTERS ; #line 13726 typedef struct _IO_COMPLETION_CONTEXT ; #line 13759 typedef struct _FILE_OBJECT ; #line 13788 typedef struct _FILE_OBJECT ; #line 13828 typedef struct _IRP ; #line 14078 typedef NTSTATUS ; #line 14163 typedef enum _DEVICE_RELATION_TYPE ; #line 14171 typedef struct _DEVICE_RELATIONS ; #line 14176 typedef enum _DEVICE_USAGE_NOTIFICATION_TYPE ; #line 14185 typedef struct _INTERFACE ; #line 14196 typedef struct _DEVICE_CAPABILITIES ; #line 14229 typedef struct _POWER_SEQUENCE ; #line 14235 typedef enum { BusQueryDeviceID = 0, BusQueryHardwareIDs = 1, BusQueryCompatibleIDs = 2, BusQueryInstanceID = 3, BusQueryDeviceSerialNumber = 4 } ; typedef ULONG ; #line 14252 typedef enum { DeviceTextDescription = 0, DeviceTextLocationInformation = 1 } ; #line 24 "C:/NTDDK/inc/pshpack4.h" #pragma warning(disable:4103) #pragma pack(push, 4) #line 14271 "C:/NTDDK/inc/ddk/ntddk.h" typedef struct _IO_STACK_LOCATION ; #line 27 "C:/NTDDK/inc/poppack.h" #pragma warning(disable:4103) #pragma pack(pop) #line 14615 "C:/NTDDK/inc/ddk/ntddk.h" typedef struct _SHARE_ACCESS ; #line 14635 typedef struct _CONFIGURATION_INFORMATION ; #line 14848 typedef struct _BOOTDISK_INFORMATION ; #line 15754 typedef struct _IO_REMOVE_LOCK_TRACKING_BLOCK ; typedef struct _IO_REMOVE_LOCK_COMMON_BLOCK ; #line 15764 typedef struct _IO_REMOVE_LOCK_DBG_BLOCK ; #line 15777 typedef struct _IO_REMOVE_LOCK ; #line 16009 typedef struct _IO_WORKITEM ; typedef void ; #line 16100 typedef enum { DevicePropertyDeviceDescription, DevicePropertyHardwareID, DevicePropertyCompatibleIDs, DevicePropertyBootConfiguration, DevicePropertyBootConfigurationTranslated, DevicePropertyClassName, DevicePropertyClassGuid, DevicePropertyDriverKeyName, DevicePropertyManufacturer, DevicePropertyFriendlyName, DevicePropertyLocationInformation, DevicePropertyPhysicalDeviceObjectName, DevicePropertyBusTypeGuid, DevicePropertyLegacyBusType, DevicePropertyBusNumber, DevicePropertyEnumeratorName, DevicePropertyAddress, DevicePropertyUINumber } ; typedef BOOLEAN ; #line 16129 typedef struct _DMA_ADAPTER ; #line 16135 typedef ULONG ; #line 16148 typedef struct _PNP_BUS_INFORMATION ; #line 16162 typedef struct _LEGACY_BUS_INFORMATION ; #line 16168 typedef struct _BUS_INTERFACE_STANDARD ; #line 16190 typedef BOOLEAN ; #line 16194 typedef NTSTATUS ; #line 16203 typedef NTSTATUS ; #line 16206 typedef NTSTATUS ; #line 16210 typedef NTSTATUS ; #line 16214 typedef NTSTATUS ; #line 16218 typedef void ; #line 16222 typedef NTSTATUS ; #line 16227 typedef void ; #line 16231 typedef struct _ACPI_INTERFACE_STANDARD ; #line 16255 typedef enum _ACPI_REG_TYPE ; #line 16268 typedef USHORT ; #line 16272 typedef void ; #line 16278 typedef struct ACPI_REGS_INTERFACE_STANDARD ; #line 16300 typedef struct { PVOID LinkNode ; ULONG StaticVector ; UCHAR Flags ; } ; #line 16314 typedef NTSTATUS ; #line 16329 typedef NTSTATUS ; #line 16336 typedef void ; #line 16343 typedef struct _INT_ROUTE_INTERFACE_STANDARD ; #line 16366 typedef struct _IO_ASSIGNED_RESOURCES ; #line 16490 typedef enum _IO_NOTIFICATION_EVENT_CATEGORY ; #line 16504 typedef NTSTATUS ; #line 16537 typedef void ; #line 16573 typedef enum _ARBITER_ACTION ; #line 16586 typedef struct _ARBITER_CONFLICT_INFO ; #line 16608 typedef struct _ARBITER_PARAMETERS ; #line 16719 typedef enum _ARBITER_REQUEST_SOURCE ; #line 16731 typedef enum _ARBITER_RESULT ; #line 16761 typedef struct _ARBITER_LIST_ENTRY ; #line 16832 typedef NTSTATUS ; #line 16853 typedef struct _ARBITER_INTERFACE ; #line 16880 typedef enum _RESOURCE_TRANSLATION_DIRECTION ; #line 16889 typedef NTSTATUS ; #line 16901 typedef NTSTATUS ; #line 16915 typedef struct _TRANSLATOR_INTERFACE ; #line 16931 typedef NTSTATUS ; #line 16945 typedef struct _LEGACY_DEVICE_DETECTION_INTERFACE ; #line 16959 typedef struct _PLUGPLAY_NOTIFICATION_HEADER ; #line 16972 typedef struct _HWPROFILE_CHANGE_NOTIFICATION ; #line 16986 typedef struct _DEVICE_INTERFACE_CHANGE_NOTIFICATION ; #line 17006 typedef struct _TARGET_DEVICE_REMOVAL_NOTIFICATION ; #line 17026 typedef struct _TARGET_DEVICE_CUSTOM_NOTIFICATION ; #line 17054 typedef struct _DEVICE_DESCRIPTION ; #line 17086 typedef BOOLEAN ; #line 17333 typedef void ; #line 17339 typedef struct _DEVICE_CONTROL_CONTEXT ; #line 17349 typedef PBUS_HANDLER ; #line 17355 typedef void ; #line 17365 typedef enum _HAL_QUERY_INFORMATION_CLASS ; #line 17381 typedef enum _HAL_SET_INFORMATION_CLASS ; #line 17388 typedef NTSTATUS ; #line 17405 typedef NTSTATUS ; #line 17420 typedef void ; #line 17429 typedef void ; #line 17438 typedef NTSTATUS ; #line 17447 typedef NTSTATUS ; #line 17456 typedef NTSTATUS ; #line 17466 typedef NTSTATUS ; #line 17475 typedef NTSTATUS ; #line 17486 typedef struct _PM_DISPATCH_TABLE ; #line 17492 typedef NTSTATUS ; #line 17505 typedef struct _DMA_ADAPTER ; #line 17520 typedef NTSTATUS ; #line 17543 typedef BOOLEAN ; #line 17553 typedef NTSTATUS ; #line 17566 typedef void ; #line 17572 typedef void ; #line 17578 typedef BOOLEAN ; #line 17588 typedef struct { ULONG Version ; pHalQuerySystemInformation HalQuerySystemInformation ; pHalSetSystemInformation HalSetSystemInformation ; pHalQueryBusSlots HalQueryBusSlots ; ULONG Spare1 ; pHalExamineMBR HalExamineMBR ; pHalIoAssignDriveLetters HalIoAssignDriveLetters ; pHalIoReadPartitionTable HalIoReadPartitionTable ; pHalIoSetPartitionInformation HalIoSetPartitionInformation ; pHalIoWritePartitionTable HalIoWritePartitionTable ; pHalHandlerForBus HalReferenceHandlerForBus ; pHalReferenceBusHandler HalReferenceBusHandler ; pHalReferenceBusHandler HalDereferenceBusHandler ; pHalInitPnpDriver HalInitPnpDriver ; pHalInitPowerManagement HalInitPowerManagement ; pHalGetDmaAdapter HalGetDmaAdapter ; pHalGetInterruptTranslator HalGetInterruptTranslator ; } ; #line 17650 typedef struct _HAL_BUS_INFORMATION ; #line 17658 typedef struct _HAL_PROFILE_SOURCE_INFORMATION ; #line 17665 typedef struct _HAL_PROFILE_SOURCE_INTERVAL ; #line 17671 typedef enum _HAL_DISPLAY_BIOS_INFORMATION ; #line 17678 typedef struct _HAL_POWER_INFORMATION ; #line 17683 typedef struct _HAL_PROCESSOR_SPEED_INFO ; #line 17688 typedef struct _HAL_CALLBACKS ; #line 17694 typedef struct _HAL_PROCESSOR_FEATURE ; #line 17706 typedef union _MCI_ADDR ; #line 17716 typedef enum { HAL_MCE_RECORD, HAL_MCA_RECORD } ; #line 17726 typedef struct _MCA_EXCEPTION ; #line 17752 typedef void ; #line 17762 typedef struct _MCA_DRIVER_INFO ; #line 17772 typedef struct _SCATTER_GATHER_ELEMENT ; #line 17778 #pragma warning(disable:4200) #line 17779 typedef struct _SCATTER_GATHER_LIST ; #line 17784 #pragma warning(default:4200) #line 17788 typedef struct _DMA_OPERATIONS ; typedef struct _DMA_ADAPTER ; #line 17797 typedef void ; #line 17801 typedef PVOID ; #line 17808 typedef void ; #line 17816 typedef NTSTATUS ; #line 17824 typedef BOOLEAN ; #line 17833 typedef void ; #line 17837 typedef void ; #line 17843 typedef PHYSICAL_ADDRESS ; #line 17852 typedef ULONG ; #line 17856 typedef ULONG ; #line 17860 typedef void ; #line 17868 typedef NTSTATUS ; #line 17880 typedef void ; #line 17887 typedef struct _DMA_OPERATIONS ; #line 18235 typedef void ; #line 18321 typedef struct _OBJECT_HANDLE_INFORMATION ; #line 18402 typedef struct _PCI_SLOT_NUMBER ; #line 18418 typedef struct _PCI_COMMON_CONFIG ; #line 18591 typedef struct _PCI_CAPABILITIES_HEADER ; #line 18600 typedef struct _PCI_PMC ; #line 18618 typedef struct _PCI_PMCSR ; #line 18628 typedef struct _PCI_PMCSR_BSE ; #line 18635 typedef struct _PCI_PM_CAPABILITY ; #line 18679 typedef struct _PCI_AGP_CAPABILITY ; #line 18720 typedef struct _PCI_MSI_CAPABILITY ; #line 18946 typedef void ; #line 18954 typedef void ; #line 18963 typedef void ; #line 18975 typedef struct _PCIBUSDATA ; #line 18986 typedef ULONG ; #line 18995 typedef void ; #line 19000 typedef void ; #line 19006 typedef struct _PCI_BUS_INTERFACE_STANDARD ; #line 19028 typedef BOOLEAN ; #line 19043 typedef struct _PCI_DEVICE_PRESENT_INTERFACE ; #line 96 "C:/NTDDK/inc/ntddpar.h" typedef struct _PAR_QUERY_INFORMATION ; #line 100 typedef struct _PAR_SET_INFORMATION ; #line 117 typedef struct _PAR_DEVICE_ID_SIZE_INFORMATION ; #line 128 typedef struct _PARCLASS_NEGOTIATION_MASK ; #line 103 "C:/NTDDK/inc/ddk/parallel.h" typedef struct _PARPORT_REMOVAL_RELATIONS ; #line 114 static UCHAR ModeQualifier___1[7] = {0xAA, 0x55, 0x00, 0xFF, 0x87, 0x78, 0xFF}; #line 117 static UCHAR LegacyZipModeQualifier___1[3] = {0x00, 0x3c, 0x20}; typedef enum { P12843DL_OFF, P12843DL_DOT3_DL, P12843DL_MLC_DL, P12843DL_DOT4_DL } ; #line 138 typedef BOOLEAN ; #line 144 typedef void ; #line 150 typedef ULONG ; #line 156 typedef NTSTATUS ; #line 163 typedef NTSTATUS ; #line 170 typedef NTSTATUS ; #line 177 typedef NTSTATUS ; #line 184 typedef NTSTATUS ; #line 191 typedef NTSTATUS ; #line 213 typedef struct _PARALLEL_PARCHIP_INFO ; #line 226 typedef struct _PARALLEL_PORT_INFORMATION ; #line 236 typedef struct _PARALLEL_PNP_INFORMATION ; #line 298 typedef struct _PARALLEL_1284_COMMAND ; #line 320 typedef struct _PARALLEL_CHIP_MODE ; #line 333 typedef void ; #line 339 typedef struct _PARALLEL_INTERRUPT_SERVICE_ROUTINE ; #line 351 typedef struct _PARALLEL_INTERRUPT_INFORMATION ; #line 363 typedef struct _MORE_PARALLEL_PORT_INFORMATION ; #line 372 typedef enum { SAFE_MODE, UNSAFE_MODE } ; #line 384 typedef USHORT ; #line 400 typedef NTSTATUS ; #line 411 typedef NTSTATUS ; #line 417 typedef NTSTATUS ; #line 423 typedef NTSTATUS ; #line 429 typedef NTSTATUS ; #line 439 typedef NTSTATUS ; #line 449 typedef NTSTATUS ; #line 456 typedef NTSTATUS ; #line 463 typedef struct _PARCLASS_INFORMATION ; #line 719 typedef enum { PHASE_UNKNOWN, PHASE_NEGOTIATION, PHASE_SETUP, PHASE_FORWARD_IDLE, PHASE_FORWARD_XFER, PHASE_FWD_TO_REV, PHASE_REVERSE_IDLE, PHASE_REVERSE_XFER, PHASE_REV_TO_FWD, PHASE_TERMINATE, PHASE_DATA_AVAILABLE, PHASE_DATA_NOT_AVAIL, PHASE_INTERRUPT_HOST } ; typedef enum { HW_MODE_COMPATIBILITY, HW_MODE_PS2, HW_MODE_FAST_CENTRONICS, HW_MODE_ECP, HW_MODE_EPP, HW_MODE_RESERVED, HW_MODE_TEST, HW_MODE_CONFIGURATION } ; #line 28 "C:/NTDDK/inc/ddk/wdm/wmilib.h" #pragma once #line 38 typedef struct { LPCGUID Guid ; ULONG InstanceCount ; ULONG Flags ; } ; #line 45 typedef NTSTATUS ; #line 101 typedef NTSTATUS ; #line 162 typedef NTSTATUS ; #line 206 typedef NTSTATUS ; #line 253 typedef NTSTATUS ; #line 306 typedef enum { WmiEventControl, WmiDataBlockControl } ; #line 312 typedef NTSTATUS ; #line 355 typedef struct _WMILIB_CONTEXT ; #line 411 typedef enum { IrpProcessed, IrpNotCompleted, IrpNotWmi, IrpForward } ; #line 13 "C:/NTDDK/inc/wmidata.h" typedef struct _MSWmi_MofData ; #line 51 typedef struct _MSWmi_ProviderInfo ; #line 66 typedef struct _MSWmi_PnPDeviceId ; #line 83 typedef struct _MSWmi_PnPInstanceNames ; #line 105 typedef struct _MSSmBios_RawSMBiosTables ; #line 147 typedef struct _MSPower_DeviceEnable ; #line 165 typedef struct _MSPower_DeviceWakeEnable ; #line 182 typedef struct _MSNdis_NetworkAddress ; #line 199 typedef struct _MSNdis_NetworkShortAddress ; #line 216 typedef struct _MSNdis_NetworkLinkSpeed ; #line 239 typedef struct _MSNdis_EnumerateAdapter ; #line 256 typedef struct _MSNdis_NotifyAdapterRemoval ; #line 273 typedef struct _MSNdis_NotifyAdapterArrival ; #line 291 typedef struct _MSNdis_NdisEnumerateVc ; #line 307 typedef struct _MSNdis_NotifyVcRemoval ; #line 323 typedef struct _MSNdis_NotifyVcArrival ; #line 338 typedef struct _MSNdis_HardwareStatus ; #line 356 typedef struct _MSNdis_MediaSupported ; #line 378 typedef struct _MSNdis_MediaInUse ; #line 400 typedef struct _MSNdis_MaximumLookahead ; #line 418 typedef struct _MSNdis_MaximumFrameSize ; #line 436 typedef struct _MSNdis_LinkSpeed ; #line 454 typedef struct _MSNdis_TransmitBufferSpace ; #line 472 typedef struct _MSNdis_ReceiveBufferSpace ; #line 490 typedef struct _MSNdis_TransmitBlockSize ; #line 508 typedef struct _MSNdis_ReceiveBlockSize ; #line 526 typedef struct _MSNdis_VendorID ; #line 544 typedef struct _MSNdis_VendorDescription ; #line 561 typedef struct _MSNdis_CurrentPacketFilter ; #line 579 typedef struct _MSNdis_CurrentLookahead ; #line 597 typedef struct _MSNdis_DriverVersion ; #line 615 typedef struct _MSNdis_MaximumTotalSize ; #line 633 typedef struct _MSNdis_MacOptions ; #line 651 typedef struct _MSNdis_MediaConnectStatus ; #line 669 typedef struct _MSNdis_MaximumSendPackets ; #line 687 typedef struct _MSNdis_VendorDriverVersion ; #line 705 typedef struct _MSNdis_TransmitsOk ; #line 723 typedef struct _MSNdis_ReceivesOk ; #line 741 typedef struct _MSNdis_TransmitsError ; #line 759 typedef struct _MSNdis_ReceiveError ; #line 777 typedef struct _MSNdis_ReceiveNoBuffer ; #line 795 typedef struct _MSNdis_CoHardwareStatus ; #line 813 typedef struct _MSNdis_CoMediaSupported ; #line 835 typedef struct _MSNdis_CoMediaInUse ; #line 857 typedef struct _MSNdis_CoLinkSpeed ; #line 875 typedef struct _MSNdis_CoVendorId ; #line 893 typedef struct _MSNdis_CoVendorDescription ; #line 910 typedef struct _MSNdis_CoDriverVersion ; #line 928 typedef struct _MSNdis_CoMacOptions ; #line 946 typedef struct _MSNdis_CoMediaConnectStatus ; #line 964 typedef struct _MSNdis_CoVendorDriverVersion ; #line 982 typedef struct _MSNdis_CoMinimumLinkSpeed ; #line 1000 typedef struct _MSNdis_CoTransmitPdusOk ; #line 1018 typedef struct _MSNdis_CoReceivePdusOk ; #line 1036 typedef struct _MSNdis_CoTransmitPduErrors ; #line 1054 typedef struct _MSNdis_CoReceivePduErrors ; #line 1072 typedef struct _MSNdis_CoReceivePdusNoBuffer ; #line 1090 typedef struct _MSNdis_AtmSupportedVcRates ; #line 1113 typedef struct _MSNdis_AtmSupportedServiceCategory ; #line 1131 typedef struct _MSNdis_AtmSupportedAalTypes ; #line 1149 typedef struct _MSNdis_AtmHardwareCurrentAddress ; #line 1167 typedef struct _MSNdis_AtmMaxActiveVcs ; #line 1185 typedef struct _MSNdis_AtmMaxActiveVciBits ; #line 1203 typedef struct _MSNdis_AtmMaxActiveVpiBits ; #line 1221 typedef struct _MSNdis_AtmMaxAal0PacketSize ; #line 1239 typedef struct _MSNdis_AtmMaxAal1PacketSize ; #line 1257 typedef struct _MSNdis_AtmMaxAal34PacketSize ; #line 1275 typedef struct _MSNdis_AtmMaxAal5PacketSize ; #line 1293 typedef struct _MSNdis_AtmReceiveCellsOk ; #line 1311 typedef struct _MSNdis_AtmTransmitCellsOk ; #line 1329 typedef struct _MSNdis_AtmReceiveCellsDropped ; #line 1347 typedef struct _MSNdis_EthernetPermanentAddress ; #line 1365 typedef struct _MSNdis_EthernetCurrentAddress ; #line 1383 typedef struct _MSNdis_EthernetMulticastList ; #line 1405 typedef struct _MSNdis_EthernetMaximumMulticastListSize ; #line 1423 typedef struct _MSNdis_EthernetMacOptions ; #line 1441 typedef struct _MSNdis_EthernetReceiveErrorAlignment ; #line 1459 typedef struct _MSNdis_EthernetOneTransmitCollision ; #line 1477 typedef struct _MSNdis_EthernetMoreTransmitCollisions ; #line 1495 typedef struct _MSNdis_TokenRingPermanentAddress ; #line 1513 typedef struct _MSNdis_TokenRingCurrentAddress ; #line 1531 typedef struct _MSNdis_TokenRingCurrentFunctional ; #line 1549 typedef struct _MSNdis_TokenRingCurrentGroup ; #line 1567 typedef struct _MSNdis_TokenRingLastOpenStatus ; #line 1585 typedef struct _MSNdis_TokenRingCurrentRingStatus ; #line 1603 typedef struct _MSNdis_TokenRingCurrentRingState ; #line 1621 typedef struct _MSNdis_TokenRingLineErrors ; #line 1639 typedef struct _MSNdis_TokenRingLostFrames ; #line 1657 typedef struct _MSNdis_FddiLongPermanentAddress ; #line 1675 typedef struct _MSNdis_FddiLongCurrentAddress ; #line 1693 typedef struct _MSNdis_FddiLongMulticastList ; #line 1715 typedef struct _MSNdis_FddiLongMaximumListSize ; #line 1733 typedef struct _MSNdis_FddiShortPermanentAddress ; #line 1751 typedef struct _MSNdis_FddiShortCurrentAddress ; #line 1769 typedef struct _MSNdis_FddiShortMulticastList ; #line 1791 typedef struct _MSNdis_FddiShortMaximumListSize ; #line 1809 typedef struct _MSNdis_FddiAttachmentType ; #line 1827 typedef struct _MSNdis_FddiUpstreamNodeLong ; #line 1845 typedef struct _MSNdis_FddiDownstreamNodeLong ; #line 1863 typedef struct _MSNdis_FddiFrameErrors ; #line 1881 typedef struct _MSNdis_FddiFramesLost ; #line 1899 typedef struct _MSNdis_FddiRingManagmentState ; #line 1917 typedef struct _MSNdis_FddiLctFailures ; #line 1935 typedef struct _MSNdis_FddiLemRejects ; #line 1953 typedef struct _MSNdis_FddiLConnectionState ; #line 1972 typedef struct _MSNdis_StatusResetStart ; #line 1988 typedef struct _MSNdis_StatusResetEnd ; #line 2004 typedef struct _MSNdis_StatusMediaConnect ; #line 2020 typedef struct _MSNdis_StatusMediaDisconnect ; #line 2035 typedef struct _MSNdis_StatusMediaSpecificIndication ; #line 2057 typedef struct _MSNdis_StatusLinkSpeedChange ; #line 2075 typedef struct _MSNdis_StatusProtocolBind ; #line 2092 typedef struct _MSNdis_StatusProtocolUnbind ; #line 2109 typedef struct _KEYBOARD_PORT_WMI_STD_DATA ; #line 2152 typedef struct _POINTER_PORT_WMI_STD_DATA ; #line 2205 typedef struct _MSMouse_ClassInformation ; #line 2223 typedef struct _MSKeyboard_ClassInformation ; #line 2241 typedef struct _MSAcpi_ThermalZoneTemperature ; #line 2304 typedef struct _WMI_DISK_GEOMETRY ; #line 2342 typedef struct _WMI_DISK_PERFORMANCE ; #line 2415 typedef struct _MSDiskDriver_Performance ; #line 2437 typedef struct _STORAGE_FAILURE_PREDICT_STATUS ; #line 2460 typedef struct _STORAGE_FAILURE_PREDICT_DATA ; #line 2483 typedef struct _STORAGE_FAILURE_PREDICT_EVENT ; #line 2513 typedef struct _STORAGE_FAILURE_PREDICT_FUNCTION ; #line 2528 typedef struct _MSIde_PortDeviceInfo ; #line 2556 typedef struct _MSSerial_PortName ; #line 2573 typedef struct _SERIAL_WMI_COMM_DATA ; #line 2723 typedef struct _SERIAL_WMI_HW_DATA ; #line 2770 typedef struct _SERIAL_WMI_PERF_DATA ; #line 2813 typedef struct _SERIAL_WMI_COMMPROP ; #line 2920 typedef struct _PARPORT_WMI_ALLOC_FREE_COUNTS ; #line 2943 typedef struct _PARALLEL_WMI_LOG_INFO ; #line 3041 typedef struct _REDBOOK_WMI_STD_DATA ; #line 3094 typedef struct _REDBOOK_WMI_PERF_DATA ; #line 3137 typedef struct _RegisteredGuids ; #line 96 "parport.h" typedef struct _DEVICE_EXTENSION ; #line 265 typedef struct _SYNCHRONIZED_COUNT_CONTEXT ; #line 270 typedef struct _SYNCHRONIZED_LIST_CONTEXT ; #line 275 typedef struct _SYNCHRONIZED_DISCONNECT_CONTEXT ; #line 280 typedef struct _ISR_LIST_ENTRY ; #line 288 typedef struct _REMOVAL_RELATIONS_LIST_ENTRY ; #line 13 "errlog.c" void PptLogError(PDRIVER_OBJECT DriverObject , PDEVICE_OBJECT DeviceObject , PHYSICAL_ADDRESS P1 , PHYSICAL_ADDRESS P2 , ULONG SequenceNumber , UCHAR MajorFunctionCode , UCHAR RetryCount , ULONG UniqueErrorValue , NTSTATUS FinalStatus , NTSTATUS SpecificIOStatus ) { #line 73 PIO_ERROR_LOG_PACKET ErrorLogEntry ; PVOID ObjectToUse ; SHORT DumpToAllocate ; #line 77 do { #line 77 ; } while(0); #line 79 if((CHAR * )DeviceObject != (CHAR * )((void * )0)) { #line 80 ObjectToUse = DeviceObject; } else { #line 82 ObjectToUse = DriverObject; } #line 85 DumpToAllocate = 0; #line 87 if(P1.LowPart != 0 || P1.HighPart != 0) { #line 88 DumpToAllocate = (SHORT )sizeof(PHYSICAL_ADDRESS ); } #line 91 if(P2.LowPart != 0 || P2.HighPart != 0) { #line 92 DumpToAllocate += (SHORT )sizeof(PHYSICAL_ADDRESS ); } #line 95 ErrorLogEntry = IoAllocateErrorLogEntry(ObjectToUse, (UCHAR )(sizeof(IO_ERROR_LOG_PACKET ) + DumpToAllocate)); #line 98 if(! ErrorLogEntry) { #line 99 return; } #line 102 ErrorLogEntry->ErrorCode = SpecificIOStatus; ErrorLogEntry->SequenceNumber = SequenceNumber; ErrorLogEntry->MajorFunctionCode = MajorFunctionCode; ErrorLogEntry->RetryCount = RetryCount; ErrorLogEntry->UniqueErrorValue = UniqueErrorValue; ErrorLogEntry->FinalStatus = FinalStatus; ErrorLogEntry->DumpDataSize = DumpToAllocate; #line 110 if(DumpToAllocate) { memcpy(ErrorLogEntry->DumpData, & P1, sizeof(PHYSICAL_ADDRESS )); if(DumpToAllocate > sizeof(PHYSICAL_ADDRESS )) { #line 118 memcpy((PUCHAR )ErrorLogEntry->DumpData + sizeof(PHYSICAL_ADDRESS ), & P2, sizeof(PHYSICAL_ADDRESS )); } } #line 122 IoWriteErrorLogEntry(ErrorLogEntry); } #line 16 "C:/Program Files/Microsoft Visual Studio/VC98/include/excpt.h" #pragma once #line 32 #pragma pack(push, 8) #line 72 typedef enum _EXCEPTION_DISPOSITION ; #line 89 struct _EXCEPTION_RECORD ; #line 90 struct _CONTEXT ; #line 155 #pragma pack(pop) #line 25 "C:/NTDDK/inc/ntdef.h" #pragma once #line 15 "C:/Program Files/Microsoft Visual Studio/VC98/include/ctype.h" #pragma once #line 60 typedef unsigned short ; #line 66 typedef wchar_t ; #line 67 typedef wchar_t ; #line 127 "C:/NTDDK/inc/ntdef.h" typedef unsigned long ; #line 25 "C:/NTDDK/inc/basetsd.h" #pragma once #line 36 typedef int ; #line 37 typedef int ; #line 43 typedef unsigned int ; #line 44 typedef unsigned int ; #line 45 typedef unsigned int ; #line 84 typedef int ; #line 85 typedef unsigned int ; typedef long ; #line 88 typedef unsigned long ; #line 248 typedef unsigned short ; #line 249 typedef short ; #line 250 typedef unsigned long ; #line 288 typedef ULONG_PTR ; #line 289 typedef LONG_PTR ; #line 295 typedef ULONG_PTR ; #line 301 typedef __int64 ; #line 302 typedef __int64 ; #line 309 typedef unsigned __int64 ; #line 310 typedef unsigned __int64 ; #line 311 typedef unsigned __int64 ; #line 217 "C:/NTDDK/inc/ntdef.h" typedef void ; #line 218 typedef void ; #line 266 typedef char ; #line 267 typedef short ; #line 268 typedef long ; #line 276 typedef wchar_t ; #line 282 typedef WCHAR ; #line 283 typedef WCHAR ; #line 284 typedef const WCHAR ; #line 285 typedef WCHAR ; #line 286 typedef WCHAR ; typedef const WCHAR ; #line 293 typedef CHAR ; #line 294 typedef CHAR ; typedef const CHAR ; #line 297 typedef CHAR ; #line 298 typedef CHAR ; #line 299 typedef const CHAR ; #line 321 typedef char ; #line 322 typedef unsigned char ; #line 326 typedef LPSTR ; #line 327 typedef LPSTR ; #line 328 typedef LPCSTR ; #line 337 typedef double ; typedef struct _QUAD ; #line 349 typedef SHORT ; #line 350 typedef LONG ; #line 351 typedef QUAD ; #line 360 typedef unsigned char ; #line 361 typedef unsigned short ; #line 362 typedef unsigned long ; #line 363 typedef QUAD ; #line 369 typedef UCHAR ; #line 370 typedef USHORT ; #line 371 typedef ULONG ; #line 372 typedef UQUAD ; #line 378 typedef signed char ; #line 379 typedef SCHAR ; #line 394 typedef void ; #line 400 typedef HANDLE ; #line 406 typedef UCHAR ; #line 407 typedef USHORT ; #line 408 typedef ULONG ; #line 414 typedef LONG ; #line 478 typedef char ; #line 479 typedef short ; #line 480 typedef ULONG ; typedef CCHAR ; #line 483 typedef CSHORT ; #line 484 typedef CLONG ; #line 492 typedef ULONG ; #line 493 typedef PULONG ; #line 494 typedef USHORT ; #line 500 typedef ULONG ; #line 501 typedef ULONG ; #line 508 typedef LONG ; typedef NTSTATUS ; #line 602 typedef struct _FLOAT128 ; #line 607 typedef FLOAT128 ; #line 621 typedef __int64 ; #line 622 typedef unsigned __int64 ; #line 639 typedef LONGLONG ; #line 640 typedef ULONGLONG ; #line 644 typedef LONGLONG ; #line 649 typedef union _LARGE_INTEGER ; #line 662 typedef LARGE_INTEGER ; #line 668 typedef union _ULARGE_INTEGER ; #line 681 typedef ULARGE_INTEGER ; #line 690 typedef struct _LUID ; #line 696 typedef ULONGLONG ; #line 697 typedef DWORDLONG ; #line 707 typedef LARGE_INTEGER ; #line 831 #pragma warning(push) #pragma warning(disable:4035) __inline ULONGLONG __stdcall Int64ShllMod32___3(ULONGLONG Value , ULONG ShiftCount ) { #line 842 __asm { mov ecx, ShiftCount mov eax, dword ptr [Value] mov edx, dword ptr [Value+4] shld edx, eax, cl shl eax, cl }; } #line 845 __inline LONGLONG __stdcall Int64ShraMod32___3(LONGLONG Value , ULONG ShiftCount ) { #line 852 __asm { mov ecx, ShiftCount mov eax, dword ptr [Value] mov edx, dword ptr [Value+4] shrd eax, edx, cl sar edx, cl }; } #line 855 __inline ULONGLONG __stdcall Int64ShrlMod32___3(ULONGLONG Value , ULONG ShiftCount ) { #line 862 __asm { mov ecx, ShiftCount mov eax, dword ptr [Value] mov edx, dword ptr [Value+4] shrd eax, edx, cl shr edx, cl }; } #pragma warning(pop) #line 956 typedef enum _EVENT_TYPE ; #line 965 typedef enum _TIMER_TYPE ; #line 974 typedef enum _WAIT_TYPE ; #line 983 typedef CHAR ; #line 984 typedef const char ; #line 991 typedef struct _STRING ; #line 999 typedef STRING ; typedef STRING ; #line 1002 typedef PSTRING ; typedef STRING ; #line 1005 typedef PSTRING ; #line 1011 typedef struct _CSTRING ; #line 1016 typedef CSTRING ; #line 1019 typedef STRING ; #line 1020 typedef PSTRING ; #line 1027 typedef struct _UNICODE_STRING ; #line 1036 typedef UNICODE_STRING ; #line 1037 typedef const UNICODE_STRING ; #line 1046 typedef UCHAR ; #line 1047 typedef BOOLEAN ; #line 1057 typedef struct _LIST_ENTRY ; #line 1067 typedef struct _SINGLE_LIST_ENTRY ; #line 1078 typedef struct LIST_ENTRY32 ; #line 1082 typedef LIST_ENTRY32 ; typedef struct LIST_ENTRY64 ; #line 1088 typedef LIST_ENTRY64 ; #line 1127 typedef struct _STRING32 ; #line 1132 typedef STRING32 ; typedef STRING32 ; #line 1135 typedef UNICODE_STRING32 ; typedef STRING32 ; #line 1138 typedef ANSI_STRING32 ; #line 1141 typedef struct _STRING64 ; #line 1146 typedef STRING64 ; typedef STRING64 ; #line 1149 typedef UNICODE_STRING64 ; typedef STRING64 ; #line 1152 typedef ANSI_STRING64 ; #line 1173 typedef struct _OBJECT_ATTRIBUTES ; #line 1181 typedef OBJECT_ATTRIBUTES ; #line 17 "C:/NTDDK/inc/guiddef.h" typedef struct _GUID ; #line 70 typedef GUID ; #line 75 typedef const GUID ; #line 81 typedef GUID ; #line 82 typedef IID ; #line 85 typedef GUID ; #line 86 typedef CLSID ; #line 89 typedef GUID ; #line 90 typedef FMTID ; #line 16 "C:/NTDDK/inc/string.h" #pragma once #line 54 typedef unsigned int ; #line 1233 "C:/NTDDK/inc/ntdef.h" typedef struct _OBJECTID ; #line 1288 struct _CONTEXT ; #line 1289 struct _EXCEPTION_RECORD ; typedef EXCEPTION_DISPOSITION ; #line 1306 typedef UCHAR ; typedef KIRQL ; #line 1316 typedef enum _NT_PRODUCT_TYPE ; #line 1329 typedef enum _SUITE_TYPE ; #line 75 "C:/NTDDK/inc/ddk/ntddk.h" typedef struct _KTHREAD ; #line 76 typedef struct _ETHREAD ; #line 77 typedef struct _EPROCESS ; #line 78 typedef struct _PEB ; #line 79 typedef struct _KINTERRUPT ; #line 80 typedef struct _IO_TIMER ; #line 81 typedef struct _OBJECT_TYPE ; #line 82 typedef struct _CALLBACK_OBJECT ; #line 83 typedef struct _DEVICE_HANDLER_OBJECT ; #line 84 typedef struct _BUS_HANDLER ; #line 143 typedef union _SLIST_HEADER ; #line 204 typedef CCHAR ; typedef enum _MODE ; #line 222 struct _KAPC ; typedef void ; #line 232 typedef void ; #line 242 typedef void ; #line 248 typedef BOOLEAN ; #line 254 typedef BOOLEAN ; #line 265 typedef struct _KAPC ; #line 292 struct _KDPC ; typedef void ; #line 351 typedef enum _KDPC_IMPORTANCE ; #line 361 typedef struct _KDPC ; #line 377 typedef PVOID ; typedef void ; #line 392 typedef struct _KIPI_COUNTS ; #line 443 typedef struct _MDL ; #line 532 typedef PVOID ; #line 538 typedef PVOID ; #line 544 typedef PVOID ; typedef ULONG ; #line 547 typedef ACCESS_MASK ; #line 597 typedef struct _GENERIC_MAPPING ; #line 603 typedef GENERIC_MAPPING ; #line 24 "C:/NTDDK/inc/pshpack4.h" #pragma warning(disable:4103) #pragma pack(push, 4) #line 618 "C:/NTDDK/inc/ddk/ntddk.h" typedef struct _LUID_AND_ATTRIBUTES ; #line 622 typedef LUID_AND_ATTRIBUTES ; #line 623 typedef LUID_AND_ATTRIBUTES_ARRAY ; #line 27 "C:/NTDDK/inc/poppack.h" #pragma warning(disable:4103) #pragma pack(pop) #line 642 "C:/NTDDK/inc/ddk/ntddk.h" typedef struct _ACL ; #line 649 typedef ACL ; #line 681 typedef struct _PRIVILEGE_SET ; #line 735 typedef enum _SECURITY_IMPERSONATION_LEVEL ; #line 753 typedef BOOLEAN ; #line 762 typedef struct _SECURITY_QUALITY_OF_SERVICE ; #line 774 typedef struct _SE_IMPERSONATION_STATE ; #line 782 typedef ULONG ; #line 809 typedef ULONG ; #line 810 typedef KAFFINITY ; #line 816 typedef LONG ; #line 824 typedef ULONG_PTR ; #line 825 typedef KSPIN_LOCK ; #line 833 typedef void ; #line 842 typedef enum _KPROFILE_SOURCE ; #line 1079 typedef NTSTATUS ; #line 1088 typedef struct _RTL_QUERY_REGISTRY_TABLE ; #line 1952 #pragma warning(push) #pragma warning(disable:4035) #line 2019 #pragma warning(pop) #line 2214 typedef struct _TIME_FIELDS ; #line 2224 typedef TIME_FIELDS ; #line 2499 typedef struct _RTL_BITMAP ; #line 2503 typedef RTL_BITMAP ; #line 2627 typedef struct _RTL_BITMAP_RUN ; #line 2633 typedef RTL_BITMAP_RUN ; #line 2886 typedef struct _RTL_RANGE ; #line 2924 typedef struct _RTL_RANGE_LIST ; #line 2950 typedef struct _RANGE_LIST_ITERATOR ; #line 3019 typedef BOOLEAN ; #line 3155 typedef struct _OSVERSIONINFOA ; #line 3164 typedef struct _OSVERSIONINFOW ; #line 3177 typedef OSVERSIONINFOA ; #line 3178 typedef POSVERSIONINFOA ; #line 3179 typedef LPOSVERSIONINFOA ; #line 3182 typedef struct _OSVERSIONINFOEXA ; #line 3195 typedef struct _OSVERSIONINFOEXW ; #line 3213 typedef OSVERSIONINFOEXA ; #line 3214 typedef POSVERSIONINFOEXA ; #line 3215 typedef LPOSVERSIONINFOEXA ; #line 3648 typedef struct _IO_STATUS_BLOCK ; #line 3669 typedef void ; #line 3685 typedef enum _FILE_INFORMATION_CLASS ; #line 3731 typedef struct _FILE_BASIC_INFORMATION ; #line 3739 typedef struct _FILE_STANDARD_INFORMATION ; #line 3747 typedef struct _FILE_POSITION_INFORMATION ; #line 3751 typedef struct _FILE_ALIGNMENT_INFORMATION ; #line 3755 typedef struct _FILE_NAME_INFORMATION ; #line 3760 typedef struct _FILE_NETWORK_OPEN_INFORMATION ; #line 3770 typedef struct _FILE_ATTRIBUTE_TAG_INFORMATION ; #line 3775 typedef struct _FILE_DISPOSITION_INFORMATION ; #line 3779 typedef struct _FILE_END_OF_FILE_INFORMATION ; #line 3784 typedef struct _FILE_FULL_EA_INFORMATION ; #line 3798 typedef enum _FSINFOCLASS ; #line 3810 typedef struct _FILE_FS_DEVICE_INFORMATION ; #line 3820 typedef union _FILE_SEGMENT_ELEMENT ; #line 3829 typedef enum _INTERFACE_TYPE ; #line 3854 typedef enum _DMA_WIDTH ; #line 3865 typedef enum _DMA_SPEED ; #line 3879 typedef void ; #line 3880 typedef void ; #line 3888 typedef enum _BUS_DATA_TYPE ; #line 3910 typedef struct _IO_ERROR_LOG_PACKET ; #line 3931 typedef struct _IO_ERROR_LOG_MESSAGE ; #line 4074 typedef struct _KEY_BASIC_INFORMATION ; #line 4081 typedef struct _KEY_NODE_INFORMATION ; #line 4091 typedef struct _KEY_FULL_INFORMATION ; #line 4106 typedef struct _KEY_NAME_INFORMATION ; #line 4112 typedef enum _KEY_INFORMATION_CLASS ; #line 4122 typedef struct _KEY_WRITE_TIME_INFORMATION ; #line 4126 typedef enum _KEY_SET_INFORMATION_CLASS ; #line 4134 typedef struct _KEY_VALUE_BASIC_INFORMATION ; #line 4141 typedef struct _KEY_VALUE_FULL_INFORMATION ; #line 4151 typedef struct _KEY_VALUE_PARTIAL_INFORMATION ; #line 4158 typedef struct _KEY_VALUE_PARTIAL_INFORMATION_ALIGN64 ; #line 4164 typedef struct _KEY_VALUE_ENTRY ; #line 4171 typedef enum _KEY_VALUE_INFORMATION_CLASS ; #line 4210 typedef struct _OBJECT_NAME_INFORMATION ; #line 4221 typedef enum _SECTION_INHERIT ; #line 4294 typedef struct _CLIENT_ID ; #line 4298 typedef CLIENT_ID ; #line 4315 typedef struct _NT_TIB ; #line 4327 typedef NT_TIB ; #line 4332 typedef enum _PROCESSINFOCLASS ; #line 4366 typedef enum _THREADINFOCLASS ; #line 4395 typedef struct _PROCESS_WS_WATCH_INFORMATION ; #line 4405 typedef struct _PROCESS_BASIC_INFORMATION ; #line 4413 typedef PROCESS_BASIC_INFORMATION ; #line 4422 typedef struct _PROCESS_DEVICEMAP_INFORMATION ; #line 4440 typedef struct _PROCESS_SESSION_INFORMATION ; #line 4454 typedef struct _QUOTA_LIMITS ; #line 4462 typedef QUOTA_LIMITS ; #line 4472 typedef struct _IO_COUNTERS ; #line 4480 typedef IO_COUNTERS ; #line 4488 typedef struct _VM_COUNTERS ; #line 4501 typedef VM_COUNTERS ; #line 4508 typedef struct _POOLED_USAGE_AND_LIMITS ; #line 4519 typedef POOLED_USAGE_AND_LIMITS ; #line 4528 typedef struct _PROCESS_ACCESS_TOKEN ; #line 4555 typedef struct _KERNEL_USER_TIMES ; #line 4561 typedef KERNEL_USER_TIMES ; #line 4587 typedef enum _SYSTEM_POWER_STATE ; #line 4598 typedef enum { PowerActionNone = 0, PowerActionReserved, PowerActionSleep, PowerActionHibernate, PowerActionShutdown, PowerActionShutdownReset, PowerActionShutdownOff, PowerActionWarmEject } ; typedef enum _DEVICE_POWER_STATE ; #line 4618 typedef union _POWER_STATE ; #line 4623 typedef enum _POWER_STATE_TYPE ; #line 4654 typedef ULONG ; typedef enum { LT_DONT_CARE, LT_LOWEST_LATENCY } ; #line 4663 typedef enum { SystemPowerPolicyAc, SystemPowerPolicyDc, VerifySystemPolicyAc, VerifySystemPolicyDc, SystemPowerCapabilities, SystemBatteryState, SystemPowerStateHandler, ProcessorStateHandler, SystemPowerPolicyCurrent, AdministratorPowerPolicy, SystemReserveHiberFile, ProcessorInformation, SystemPowerInformation } ; #line 4690 typedef ULONG ; typedef LONG ; #line 4693 typedef ULONG ; #line 4719 typedef union _MCI_STATS ; #line 4978 typedef struct _KPCR ; #line 5006 typedef KPCR ; #line 5012 typedef struct _KFLOATING_SAVE ; #line 5153 typedef enum _INTERLOCKED_RESULT ; #line 5252 #pragma warning(disable:4035) #line 6994 typedef struct _KSYSTEM_TIME ; #line 7014 #pragma warning(push) #pragma warning(disable:4164) #line 7019 #pragma function(_enable) #line 7020 #pragma function(_disable) #line 7024 #pragma warning(pop) #line 7085 typedef struct _FLOATING_SAVE_AREA ; #line 7097 typedef FLOATING_SAVE_AREA ; #line 7109 typedef struct _CONTEXT ; #line 7197 typedef CONTEXT ; #line 7826 typedef void ; #line 7850 typedef enum _ALTERNATIVE_ARCHITECTURE_TYPE ; #line 7899 typedef struct _KUSER_SHARED_DATA ; #line 8123 typedef enum _CM_SERVICE_NODE_TYPE ; #line 8132 typedef enum _CM_SERVICE_LOAD_TYPE ; #line 8140 typedef enum _CM_ERROR_CONTROL_TYPE ; #line 8172 typedef int ; #line 8198 typedef enum _CM_SHARE_DISPOSITION ; #line 8211 typedef PVOID ; #line 24 "C:/NTDDK/inc/pshpack4.h" #pragma warning(disable:4103) #pragma pack(push, 4) #line 8309 "C:/NTDDK/inc/ddk/ntddk.h" typedef struct _CM_PARTIAL_RESOURCE_DESCRIPTOR ; #line 27 "C:/NTDDK/inc/poppack.h" #pragma warning(disable:4103) #pragma pack(pop) #line 8419 "C:/NTDDK/inc/ddk/ntddk.h" typedef struct _CM_PARTIAL_RESOURCE_LIST ; #line 8443 typedef struct _CM_FULL_RESOURCE_DESCRIPTOR ; #line 8454 typedef struct _CM_RESOURCE_LIST ; #line 8471 typedef struct _DEVICE_FLAGS ; #line 8485 typedef struct _CM_COMPONENT_INFORMATION ; #line 8503 typedef struct _CM_ROM_BLOCK ; #line 24 "C:/NTDDK/inc/pshpack1.h" #pragma warning(disable:4103) #pragma pack(push, 1) #line 8518 "C:/NTDDK/inc/ddk/ntddk.h" typedef struct _CM_INT13_DRIVE_PARAMETER ; #line 8532 typedef struct _CM_MCA_POS_DATA ; #line 8544 typedef struct _EISA_MEMORY_TYPE ; #line 8554 typedef struct _EISA_MEMORY_CONFIGURATION ; #line 8567 typedef struct _EISA_IRQ_DESCRIPTOR ; #line 8575 typedef struct _EISA_IRQ_CONFIGURATION ; #line 8585 typedef struct _DMA_CONFIGURATION_BYTE0 ; #line 8592 typedef struct _DMA_CONFIGURATION_BYTE1 ; #line 8599 typedef struct _EISA_DMA_CONFIGURATION ; #line 8609 typedef struct _EISA_PORT_DESCRIPTOR ; #line 8616 typedef struct _EISA_PORT_CONFIGURATION ; #line 8628 typedef struct _CM_EISA_SLOT_INFORMATION ; #line 8644 typedef struct _CM_EISA_FUNCTION_INFORMATION ; #line 8678 typedef struct _CM_PNP_BIOS_DEVICE_NODE ; #line 8692 typedef struct _CM_PNP_BIOS_INSTALLATION_CHECK ; #line 27 "C:/NTDDK/inc/poppack.h" #pragma warning(disable:4103) #pragma pack(pop) #line 8761 "C:/NTDDK/inc/ddk/ntddk.h" typedef struct _CM_SCSI_DEVICE_DATA ; #line 8775 typedef struct _CM_VIDEO_DEVICE_DATA ; #line 8785 typedef struct _CM_SONIC_DEVICE_DATA ; #line 8796 typedef struct _CM_SERIAL_DEVICE_DATA ; #line 8810 typedef struct _CM_MONITOR_DEVICE_DATA ; #line 8844 typedef struct _CM_FLOPPY_DEVICE_DATA ; #line 8881 typedef struct _CM_KEYBOARD_DEVICE_DATA ; #line 8893 typedef struct _CM_DISK_GEOMETRY_DEVICE_DATA ; #line 8905 typedef struct _CM_PCCARD_DEVICE_DATA ; #line 8944 typedef struct _IO_RESOURCE_DESCRIPTOR ; #line 9027 typedef struct _IO_RESOURCE_LIST ; #line 9036 typedef struct _IO_RESOURCE_REQUIREMENTS_LIST ; #line 9065 typedef struct _EXCEPTION_RECORD ; #line 9074 typedef EXCEPTION_RECORD ; typedef struct _EXCEPTION_RECORD32 ; #line 9085 typedef struct _EXCEPTION_RECORD64 ; #line 9099 typedef struct _EXCEPTION_POINTERS ; #line 9111 typedef enum _CONFIGURATION_TYPE ; #line 9161 typedef enum _KINTERRUPT_MODE ; #line 9170 typedef enum _KWAIT_REASON ; #line 9207 typedef struct _DISPATCHER_HEADER ; #line 9217 typedef struct _KWAIT_BLOCK ; #line 9230 typedef void ; #line 9244 typedef struct _KDEVICE_QUEUE ; #line 9252 typedef struct _KDEVICE_QUEUE_ENTRY ; #line 9263 typedef struct _KEVENT ; #line 9271 typedef BOOLEAN ; #line 9281 typedef struct _KMUTANT ; #line 9294 typedef struct _KSEMAPHORE ; #line 9304 typedef struct _KTIMER ; #line 9899 typedef enum _KBUGCHECK_BUFFER_DUMP_STATE ; #line 9907 typedef void ; #line 9914 typedef struct _KBUGCHECK_CALLBACK_RECORD ; #line 10002 typedef void ; #line 10020 typedef LOGICAL ; #line 10037 typedef void ; #line 10053 typedef enum _MEMORY_CACHING_TYPE_ORIG ; #line 10057 typedef enum _MEMORY_CACHING_TYPE ; #line 10087 typedef struct _DBGKD_DEBUG_DATA_HEADER64 ; #line 10115 typedef enum _POOL_TYPE ; #line 10195 typedef enum _EX_POOL_PRIORITY ; #line 10247 typedef struct _FAST_MUTEX ; #line 10574 typedef PVOID ; #line 10582 typedef void ; #line 10588 typedef struct _GENERAL_LOOKASIDE ; #line 10619 typedef struct _NPAGED_LOOKASIDE_LIST ; #line 10729 typedef struct _PAGED_LOOKASIDE_LIST ; #line 10882 typedef enum _WORK_QUEUE_TYPE ; #line 10889 typedef void ; #line 10895 typedef struct _WORK_QUEUE_ITEM ; #line 10926 typedef struct _ZONE_SEGMENT_HEADER ; #line 10931 typedef struct _ZONE_HEADER ; #line 11156 typedef ULONG_PTR ; #line 11157 typedef ERESOURCE_THREAD ; typedef struct _OWNER_ENTRY ; #line 11168 typedef struct _ERESOURCE ; #line 11197 typedef struct _RESOURCE_HASH_ENTRY ; #line 11204 typedef struct _RESOURCE_PERFORMANCE_DATA ; #line 11429 typedef struct _CALLBACK_OBJECT ; typedef void ; #line 11474 typedef GUID ; #line 11862 typedef enum _MM_SYSTEM_SIZE ; #line 11884 typedef enum _LOCK_OPERATION ; #line 11970 typedef enum _MM_PAGE_PRIORITY ; #line 11999 typedef struct _PHYSICAL_MEMORY_RANGE ; #line 12385 typedef NTSTATUS ; #line 12389 typedef NTSTATUS ; #line 12399 struct _DRIVER_OBJECT ; #line 12411 typedef enum _SECURITY_OPERATION_CODE ; #line 12426 typedef struct _SECURITY_SUBJECT_CONTEXT ; #line 12448 typedef struct _INITIAL_PRIVILEGE_SET ; #line 12462 typedef struct _ACCESS_STATE ; #line 12571 typedef void ; #line 12585 typedef void ; #line 12602 typedef struct _IMAGE_INFO ; #line 12620 typedef void ; #line 12859 typedef NTSTATUS ; #line 12878 typedef enum _IO_QUERY_DEVICE_DATA_FORMAT ; #line 12890 typedef enum _CREATE_FILE_TYPE ; #line 12905 struct _DEVICE_DESCRIPTION ; #line 12906 struct _DEVICE_OBJECT ; #line 12907 struct _DMA_ADAPTER ; #line 12908 struct _DRIVER_OBJECT ; #line 12909 struct _DRIVE_LAYOUT_INFORMATION ; #line 12910 struct _DISK_PARTITION ; #line 12911 struct _FILE_OBJECT ; #line 12912 struct _IRP ; #line 12913 struct _SCSI_REQUEST_BLOCK ; #line 12919 typedef void ; #line 12932 typedef void ; #line 12943 typedef NTSTATUS ; #line 12955 typedef void ; #line 12968 typedef void ; #line 12979 typedef NTSTATUS ; #line 12990 typedef void ; #line 13001 typedef void ; #line 13011 typedef NTSTATUS ; #line 13025 typedef BOOLEAN ; #line 13038 typedef BOOLEAN ; #line 13051 typedef BOOLEAN ; #line 13068 typedef BOOLEAN ; #line 13078 typedef BOOLEAN ; #line 13092 typedef BOOLEAN ; #line 13106 typedef BOOLEAN ; #line 13118 typedef BOOLEAN ; #line 13127 typedef BOOLEAN ; #line 13141 typedef BOOLEAN ; #line 13161 typedef void ; #line 13167 typedef void ; #line 13179 typedef void ; #line 13193 typedef BOOLEAN ; #line 13207 typedef BOOLEAN ; #line 13219 typedef BOOLEAN ; #line 13227 typedef BOOLEAN ; #line 13239 typedef BOOLEAN ; #line 13253 typedef NTSTATUS ; #line 13262 typedef NTSTATUS ; #line 13275 typedef NTSTATUS ; #line 13282 typedef NTSTATUS ; #line 13289 typedef BOOLEAN ; #line 13304 typedef BOOLEAN ; #line 13319 typedef BOOLEAN ; #line 13327 typedef BOOLEAN ; #line 13336 typedef BOOLEAN ; #line 13350 typedef struct _FAST_IO_DISPATCH ; #line 13386 typedef enum _IO_ALLOCATION_ACTION ; #line 13396 typedef IO_ALLOCATION_ACTION ; #line 13410 typedef struct _IO_SECURITY_CONTEXT ; #line 13434 typedef struct _VPB ; #line 13482 typedef struct _ADAPTER_OBJECT ; #line 13491 typedef struct _WAIT_CONTEXT_BLOCK ; #line 13503 typedef struct _CONTROLLER_OBJECT ; #line 13537 typedef struct _DEVICE_OBJECT ; #line 13575 typedef struct _DEVICE_OBJECT ; #line 13578 struct _DEVICE_OBJECT_POWER_EXTENSION ; typedef struct _DEVOBJ_EXTENSION ; #line 13608 typedef struct _DRIVER_EXTENSION ; #line 13645 typedef struct _DRIVER_OBJECT ; #line 13706 typedef struct _DRIVER_OBJECT ; #line 13715 typedef struct _SECTION_OBJECT_POINTERS ; #line 13720 typedef SECTION_OBJECT_POINTERS ; #line 13726 typedef struct _IO_COMPLETION_CONTEXT ; #line 13759 typedef struct _FILE_OBJECT ; #line 13788 typedef struct _FILE_OBJECT ; #line 13828 typedef struct _IRP ; #line 14078 typedef NTSTATUS ; #line 14163 typedef enum _DEVICE_RELATION_TYPE ; #line 14171 typedef struct _DEVICE_RELATIONS ; #line 14176 typedef enum _DEVICE_USAGE_NOTIFICATION_TYPE ; #line 14185 typedef struct _INTERFACE ; #line 14196 typedef struct _DEVICE_CAPABILITIES ; #line 14229 typedef struct _POWER_SEQUENCE ; #line 14235 typedef enum { BusQueryDeviceID = 0, BusQueryHardwareIDs = 1, BusQueryCompatibleIDs = 2, BusQueryInstanceID = 3, BusQueryDeviceSerialNumber = 4 } ; typedef ULONG ; #line 14252 typedef enum { DeviceTextDescription = 0, DeviceTextLocationInformation = 1 } ; #line 24 "C:/NTDDK/inc/pshpack4.h" #pragma warning(disable:4103) #pragma pack(push, 4) #line 14271 "C:/NTDDK/inc/ddk/ntddk.h" typedef struct _IO_STACK_LOCATION ; #line 27 "C:/NTDDK/inc/poppack.h" #pragma warning(disable:4103) #pragma pack(pop) #line 14615 "C:/NTDDK/inc/ddk/ntddk.h" typedef struct _SHARE_ACCESS ; #line 14635 typedef struct _CONFIGURATION_INFORMATION ; #line 14848 typedef struct _BOOTDISK_INFORMATION ; #line 15754 typedef struct _IO_REMOVE_LOCK_TRACKING_BLOCK ; typedef struct _IO_REMOVE_LOCK_COMMON_BLOCK ; #line 15764 typedef struct _IO_REMOVE_LOCK_DBG_BLOCK ; #line 15777 typedef struct _IO_REMOVE_LOCK ; #line 16009 typedef struct _IO_WORKITEM ; typedef void ; #line 16100 typedef enum { DevicePropertyDeviceDescription, DevicePropertyHardwareID, DevicePropertyCompatibleIDs, DevicePropertyBootConfiguration, DevicePropertyBootConfigurationTranslated, DevicePropertyClassName, DevicePropertyClassGuid, DevicePropertyDriverKeyName, DevicePropertyManufacturer, DevicePropertyFriendlyName, DevicePropertyLocationInformation, DevicePropertyPhysicalDeviceObjectName, DevicePropertyBusTypeGuid, DevicePropertyLegacyBusType, DevicePropertyBusNumber, DevicePropertyEnumeratorName, DevicePropertyAddress, DevicePropertyUINumber } ; typedef BOOLEAN ; #line 16129 typedef struct _DMA_ADAPTER ; #line 16135 typedef ULONG ; #line 16148 typedef struct _PNP_BUS_INFORMATION ; #line 16162 typedef struct _LEGACY_BUS_INFORMATION ; #line 16168 typedef struct _BUS_INTERFACE_STANDARD ; #line 16190 typedef BOOLEAN ; #line 16194 typedef NTSTATUS ; #line 16203 typedef NTSTATUS ; #line 16206 typedef NTSTATUS ; #line 16210 typedef NTSTATUS ; #line 16214 typedef NTSTATUS ; #line 16218 typedef void ; #line 16222 typedef NTSTATUS ; #line 16227 typedef void ; #line 16231 typedef struct _ACPI_INTERFACE_STANDARD ; #line 16255 typedef enum _ACPI_REG_TYPE ; #line 16268 typedef USHORT ; #line 16272 typedef void ; #line 16278 typedef struct ACPI_REGS_INTERFACE_STANDARD ; #line 16300 typedef struct { PVOID LinkNode ; ULONG StaticVector ; UCHAR Flags ; } ; #line 16314 typedef NTSTATUS ; #line 16329 typedef NTSTATUS ; #line 16336 typedef void ; #line 16343 typedef struct _INT_ROUTE_INTERFACE_STANDARD ; #line 16366 typedef struct _IO_ASSIGNED_RESOURCES ; #line 16490 typedef enum _IO_NOTIFICATION_EVENT_CATEGORY ; #line 16504 typedef NTSTATUS ; #line 16537 typedef void ; #line 16573 typedef enum _ARBITER_ACTION ; #line 16586 typedef struct _ARBITER_CONFLICT_INFO ; #line 16608 typedef struct _ARBITER_PARAMETERS ; #line 16719 typedef enum _ARBITER_REQUEST_SOURCE ; #line 16731 typedef enum _ARBITER_RESULT ; #line 16761 typedef struct _ARBITER_LIST_ENTRY ; #line 16832 typedef NTSTATUS ; #line 16853 typedef struct _ARBITER_INTERFACE ; #line 16880 typedef enum _RESOURCE_TRANSLATION_DIRECTION ; #line 16889 typedef NTSTATUS ; #line 16901 typedef NTSTATUS ; #line 16915 typedef struct _TRANSLATOR_INTERFACE ; #line 16931 typedef NTSTATUS ; #line 16945 typedef struct _LEGACY_DEVICE_DETECTION_INTERFACE ; #line 16959 typedef struct _PLUGPLAY_NOTIFICATION_HEADER ; #line 16972 typedef struct _HWPROFILE_CHANGE_NOTIFICATION ; #line 16986 typedef struct _DEVICE_INTERFACE_CHANGE_NOTIFICATION ; #line 17006 typedef struct _TARGET_DEVICE_REMOVAL_NOTIFICATION ; #line 17026 typedef struct _TARGET_DEVICE_CUSTOM_NOTIFICATION ; #line 17054 typedef struct _DEVICE_DESCRIPTION ; #line 17086 typedef BOOLEAN ; #line 17333 typedef void ; #line 17339 typedef struct _DEVICE_CONTROL_CONTEXT ; #line 17349 typedef PBUS_HANDLER ; #line 17355 typedef void ; #line 17365 typedef enum _HAL_QUERY_INFORMATION_CLASS ; #line 17381 typedef enum _HAL_SET_INFORMATION_CLASS ; #line 17388 typedef NTSTATUS ; #line 17405 typedef NTSTATUS ; #line 17420 typedef void ; #line 17429 typedef void ; #line 17438 typedef NTSTATUS ; #line 17447 typedef NTSTATUS ; #line 17456 typedef NTSTATUS ; #line 17466 typedef NTSTATUS ; #line 17475 typedef NTSTATUS ; #line 17486 typedef struct _PM_DISPATCH_TABLE ; #line 17492 typedef NTSTATUS ; #line 17505 typedef struct _DMA_ADAPTER ; #line 17520 typedef NTSTATUS ; #line 17543 typedef BOOLEAN ; #line 17553 typedef NTSTATUS ; #line 17566 typedef void ; #line 17572 typedef void ; #line 17578 typedef BOOLEAN ; #line 17588 typedef struct { ULONG Version ; pHalQuerySystemInformation HalQuerySystemInformation ; pHalSetSystemInformation HalSetSystemInformation ; pHalQueryBusSlots HalQueryBusSlots ; ULONG Spare1 ; pHalExamineMBR HalExamineMBR ; pHalIoAssignDriveLetters HalIoAssignDriveLetters ; pHalIoReadPartitionTable HalIoReadPartitionTable ; pHalIoSetPartitionInformation HalIoSetPartitionInformation ; pHalIoWritePartitionTable HalIoWritePartitionTable ; pHalHandlerForBus HalReferenceHandlerForBus ; pHalReferenceBusHandler HalReferenceBusHandler ; pHalReferenceBusHandler HalDereferenceBusHandler ; pHalInitPnpDriver HalInitPnpDriver ; pHalInitPowerManagement HalInitPowerManagement ; pHalGetDmaAdapter HalGetDmaAdapter ; pHalGetInterruptTranslator HalGetInterruptTranslator ; } ; #line 17650 typedef struct _HAL_BUS_INFORMATION ; #line 17658 typedef struct _HAL_PROFILE_SOURCE_INFORMATION ; #line 17665 typedef struct _HAL_PROFILE_SOURCE_INTERVAL ; #line 17671 typedef enum _HAL_DISPLAY_BIOS_INFORMATION ; #line 17678 typedef struct _HAL_POWER_INFORMATION ; #line 17683 typedef struct _HAL_PROCESSOR_SPEED_INFO ; #line 17688 typedef struct _HAL_CALLBACKS ; #line 17694 typedef struct _HAL_PROCESSOR_FEATURE ; #line 17706 typedef union _MCI_ADDR ; #line 17716 typedef enum { HAL_MCE_RECORD, HAL_MCA_RECORD } ; #line 17726 typedef struct _MCA_EXCEPTION ; #line 17752 typedef void ; #line 17762 typedef struct _MCA_DRIVER_INFO ; #line 17772 typedef struct _SCATTER_GATHER_ELEMENT ; #line 17778 #pragma warning(disable:4200) #line 17779 typedef struct _SCATTER_GATHER_LIST ; #line 17784 #pragma warning(default:4200) #line 17788 typedef struct _DMA_OPERATIONS ; typedef struct _DMA_ADAPTER ; #line 17797 typedef void ; #line 17801 typedef PVOID ; #line 17808 typedef void ; #line 17816 typedef NTSTATUS ; #line 17824 typedef BOOLEAN ; #line 17833 typedef void ; #line 17837 typedef void ; #line 17843 typedef PHYSICAL_ADDRESS ; #line 17852 typedef ULONG ; #line 17856 typedef ULONG ; #line 17860 typedef void ; #line 17868 typedef NTSTATUS ; #line 17880 typedef void ; #line 17887 typedef struct _DMA_OPERATIONS ; #line 18235 typedef void ; #line 18321 typedef struct _OBJECT_HANDLE_INFORMATION ; #line 18402 typedef struct _PCI_SLOT_NUMBER ; #line 18418 typedef struct _PCI_COMMON_CONFIG ; #line 18591 typedef struct _PCI_CAPABILITIES_HEADER ; #line 18600 typedef struct _PCI_PMC ; #line 18618 typedef struct _PCI_PMCSR ; #line 18628 typedef struct _PCI_PMCSR_BSE ; #line 18635 typedef struct _PCI_PM_CAPABILITY ; #line 18679 typedef struct _PCI_AGP_CAPABILITY ; #line 18720 typedef struct _PCI_MSI_CAPABILITY ; #line 18946 typedef void ; #line 18954 typedef void ; #line 18963 typedef void ; #line 18975 typedef struct _PCIBUSDATA ; #line 18986 typedef ULONG ; #line 18995 typedef void ; #line 19000 typedef void ; #line 19006 typedef struct _PCI_BUS_INTERFACE_STANDARD ; #line 19028 typedef BOOLEAN ; #line 19043 typedef struct _PCI_DEVICE_PRESENT_INTERFACE ; #line 96 "C:/NTDDK/inc/ntddpar.h" typedef struct _PAR_QUERY_INFORMATION ; #line 100 typedef struct _PAR_SET_INFORMATION ; #line 117 typedef struct _PAR_DEVICE_ID_SIZE_INFORMATION ; #line 128 typedef struct _PARCLASS_NEGOTIATION_MASK ; #line 103 "C:/NTDDK/inc/ddk/parallel.h" typedef struct _PARPORT_REMOVAL_RELATIONS ; #line 114 static UCHAR ModeQualifier___2[7] = {0xAA, 0x55, 0x00, 0xFF, 0x87, 0x78, 0xFF}; #line 117 static UCHAR LegacyZipModeQualifier___2[3] = {0x00, 0x3c, 0x20}; typedef enum { P12843DL_OFF, P12843DL_DOT3_DL, P12843DL_MLC_DL, P12843DL_DOT4_DL } ; #line 138 typedef BOOLEAN ; #line 144 typedef void ; #line 150 typedef ULONG ; #line 156 typedef NTSTATUS ; #line 163 typedef NTSTATUS ; #line 170 typedef NTSTATUS ; #line 177 typedef NTSTATUS ; #line 184 typedef NTSTATUS ; #line 191 typedef NTSTATUS ; #line 213 typedef struct _PARALLEL_PARCHIP_INFO ; #line 226 typedef struct _PARALLEL_PORT_INFORMATION ; #line 236 typedef struct _PARALLEL_PNP_INFORMATION ; #line 298 typedef struct _PARALLEL_1284_COMMAND ; #line 320 typedef struct _PARALLEL_CHIP_MODE ; #line 333 typedef void ; #line 339 typedef struct _PARALLEL_INTERRUPT_SERVICE_ROUTINE ; #line 351 typedef struct _PARALLEL_INTERRUPT_INFORMATION ; #line 363 typedef struct _MORE_PARALLEL_PORT_INFORMATION ; #line 372 typedef enum { SAFE_MODE, UNSAFE_MODE } ; #line 384 typedef USHORT ; #line 400 typedef NTSTATUS ; #line 411 typedef NTSTATUS ; #line 417 typedef NTSTATUS ; #line 423 typedef NTSTATUS ; #line 429 typedef NTSTATUS ; #line 439 typedef NTSTATUS ; #line 449 typedef NTSTATUS ; #line 456 typedef NTSTATUS ; #line 463 typedef struct _PARCLASS_INFORMATION ; #line 719 typedef enum { PHASE_UNKNOWN, PHASE_NEGOTIATION, PHASE_SETUP, PHASE_FORWARD_IDLE, PHASE_FORWARD_XFER, PHASE_FWD_TO_REV, PHASE_REVERSE_IDLE, PHASE_REVERSE_XFER, PHASE_REV_TO_FWD, PHASE_TERMINATE, PHASE_DATA_AVAILABLE, PHASE_DATA_NOT_AVAIL, PHASE_INTERRUPT_HOST } ; typedef enum { HW_MODE_COMPATIBILITY, HW_MODE_PS2, HW_MODE_FAST_CENTRONICS, HW_MODE_ECP, HW_MODE_EPP, HW_MODE_RESERVED, HW_MODE_TEST, HW_MODE_CONFIGURATION } ; #line 28 "C:/NTDDK/inc/ddk/wdm/wmilib.h" #pragma once #line 38 typedef struct { LPCGUID Guid ; ULONG InstanceCount ; ULONG Flags ; } ; #line 45 typedef NTSTATUS ; #line 101 typedef NTSTATUS ; #line 162 typedef NTSTATUS ; #line 206 typedef NTSTATUS ; #line 253 typedef NTSTATUS ; #line 306 typedef enum { WmiEventControl, WmiDataBlockControl } ; #line 312 typedef NTSTATUS ; #line 355 typedef struct _WMILIB_CONTEXT ; #line 411 typedef enum { IrpProcessed, IrpNotCompleted, IrpNotWmi, IrpForward } ; #line 13 "C:/NTDDK/inc/wmidata.h" typedef struct _MSWmi_MofData ; #line 51 typedef struct _MSWmi_ProviderInfo ; #line 66 typedef struct _MSWmi_PnPDeviceId ; #line 83 typedef struct _MSWmi_PnPInstanceNames ; #line 105 typedef struct _MSSmBios_RawSMBiosTables ; #line 147 typedef struct _MSPower_DeviceEnable ; #line 165 typedef struct _MSPower_DeviceWakeEnable ; #line 182 typedef struct _MSNdis_NetworkAddress ; #line 199 typedef struct _MSNdis_NetworkShortAddress ; #line 216 typedef struct _MSNdis_NetworkLinkSpeed ; #line 239 typedef struct _MSNdis_EnumerateAdapter ; #line 256 typedef struct _MSNdis_NotifyAdapterRemoval ; #line 273 typedef struct _MSNdis_NotifyAdapterArrival ; #line 291 typedef struct _MSNdis_NdisEnumerateVc ; #line 307 typedef struct _MSNdis_NotifyVcRemoval ; #line 323 typedef struct _MSNdis_NotifyVcArrival ; #line 338 typedef struct _MSNdis_HardwareStatus ; #line 356 typedef struct _MSNdis_MediaSupported ; #line 378 typedef struct _MSNdis_MediaInUse ; #line 400 typedef struct _MSNdis_MaximumLookahead ; #line 418 typedef struct _MSNdis_MaximumFrameSize ; #line 436 typedef struct _MSNdis_LinkSpeed ; #line 454 typedef struct _MSNdis_TransmitBufferSpace ; #line 472 typedef struct _MSNdis_ReceiveBufferSpace ; #line 490 typedef struct _MSNdis_TransmitBlockSize ; #line 508 typedef struct _MSNdis_ReceiveBlockSize ; #line 526 typedef struct _MSNdis_VendorID ; #line 544 typedef struct _MSNdis_VendorDescription ; #line 561 typedef struct _MSNdis_CurrentPacketFilter ; #line 579 typedef struct _MSNdis_CurrentLookahead ; #line 597 typedef struct _MSNdis_DriverVersion ; #line 615 typedef struct _MSNdis_MaximumTotalSize ; #line 633 typedef struct _MSNdis_MacOptions ; #line 651 typedef struct _MSNdis_MediaConnectStatus ; #line 669 typedef struct _MSNdis_MaximumSendPackets ; #line 687 typedef struct _MSNdis_VendorDriverVersion ; #line 705 typedef struct _MSNdis_TransmitsOk ; #line 723 typedef struct _MSNdis_ReceivesOk ; #line 741 typedef struct _MSNdis_TransmitsError ; #line 759 typedef struct _MSNdis_ReceiveError ; #line 777 typedef struct _MSNdis_ReceiveNoBuffer ; #line 795 typedef struct _MSNdis_CoHardwareStatus ; #line 813 typedef struct _MSNdis_CoMediaSupported ; #line 835 typedef struct _MSNdis_CoMediaInUse ; #line 857 typedef struct _MSNdis_CoLinkSpeed ; #line 875 typedef struct _MSNdis_CoVendorId ; #line 893 typedef struct _MSNdis_CoVendorDescription ; #line 910 typedef struct _MSNdis_CoDriverVersion ; #line 928 typedef struct _MSNdis_CoMacOptions ; #line 946 typedef struct _MSNdis_CoMediaConnectStatus ; #line 964 typedef struct _MSNdis_CoVendorDriverVersion ; #line 982 typedef struct _MSNdis_CoMinimumLinkSpeed ; #line 1000 typedef struct _MSNdis_CoTransmitPdusOk ; #line 1018 typedef struct _MSNdis_CoReceivePdusOk ; #line 1036 typedef struct _MSNdis_CoTransmitPduErrors ; #line 1054 typedef struct _MSNdis_CoReceivePduErrors ; #line 1072 typedef struct _MSNdis_CoReceivePdusNoBuffer ; #line 1090 typedef struct _MSNdis_AtmSupportedVcRates ; #line 1113 typedef struct _MSNdis_AtmSupportedServiceCategory ; #line 1131 typedef struct _MSNdis_AtmSupportedAalTypes ; #line 1149 typedef struct _MSNdis_AtmHardwareCurrentAddress ; #line 1167 typedef struct _MSNdis_AtmMaxActiveVcs ; #line 1185 typedef struct _MSNdis_AtmMaxActiveVciBits ; #line 1203 typedef struct _MSNdis_AtmMaxActiveVpiBits ; #line 1221 typedef struct _MSNdis_AtmMaxAal0PacketSize ; #line 1239 typedef struct _MSNdis_AtmMaxAal1PacketSize ; #line 1257 typedef struct _MSNdis_AtmMaxAal34PacketSize ; #line 1275 typedef struct _MSNdis_AtmMaxAal5PacketSize ; #line 1293 typedef struct _MSNdis_AtmReceiveCellsOk ; #line 1311 typedef struct _MSNdis_AtmTransmitCellsOk ; #line 1329 typedef struct _MSNdis_AtmReceiveCellsDropped ; #line 1347 typedef struct _MSNdis_EthernetPermanentAddress ; #line 1365 typedef struct _MSNdis_EthernetCurrentAddress ; #line 1383 typedef struct _MSNdis_EthernetMulticastList ; #line 1405 typedef struct _MSNdis_EthernetMaximumMulticastListSize ; #line 1423 typedef struct _MSNdis_EthernetMacOptions ; #line 1441 typedef struct _MSNdis_EthernetReceiveErrorAlignment ; #line 1459 typedef struct _MSNdis_EthernetOneTransmitCollision ; #line 1477 typedef struct _MSNdis_EthernetMoreTransmitCollisions ; #line 1495 typedef struct _MSNdis_TokenRingPermanentAddress ; #line 1513 typedef struct _MSNdis_TokenRingCurrentAddress ; #line 1531 typedef struct _MSNdis_TokenRingCurrentFunctional ; #line 1549 typedef struct _MSNdis_TokenRingCurrentGroup ; #line 1567 typedef struct _MSNdis_TokenRingLastOpenStatus ; #line 1585 typedef struct _MSNdis_TokenRingCurrentRingStatus ; #line 1603 typedef struct _MSNdis_TokenRingCurrentRingState ; #line 1621 typedef struct _MSNdis_TokenRingLineErrors ; #line 1639 typedef struct _MSNdis_TokenRingLostFrames ; #line 1657 typedef struct _MSNdis_FddiLongPermanentAddress ; #line 1675 typedef struct _MSNdis_FddiLongCurrentAddress ; #line 1693 typedef struct _MSNdis_FddiLongMulticastList ; #line 1715 typedef struct _MSNdis_FddiLongMaximumListSize ; #line 1733 typedef struct _MSNdis_FddiShortPermanentAddress ; #line 1751 typedef struct _MSNdis_FddiShortCurrentAddress ; #line 1769 typedef struct _MSNdis_FddiShortMulticastList ; #line 1791 typedef struct _MSNdis_FddiShortMaximumListSize ; #line 1809 typedef struct _MSNdis_FddiAttachmentType ; #line 1827 typedef struct _MSNdis_FddiUpstreamNodeLong ; #line 1845 typedef struct _MSNdis_FddiDownstreamNodeLong ; #line 1863 typedef struct _MSNdis_FddiFrameErrors ; #line 1881 typedef struct _MSNdis_FddiFramesLost ; #line 1899 typedef struct _MSNdis_FddiRingManagmentState ; #line 1917 typedef struct _MSNdis_FddiLctFailures ; #line 1935 typedef struct _MSNdis_FddiLemRejects ; #line 1953 typedef struct _MSNdis_FddiLConnectionState ; #line 1972 typedef struct _MSNdis_StatusResetStart ; #line 1988 typedef struct _MSNdis_StatusResetEnd ; #line 2004 typedef struct _MSNdis_StatusMediaConnect ; #line 2020 typedef struct _MSNdis_StatusMediaDisconnect ; #line 2035 typedef struct _MSNdis_StatusMediaSpecificIndication ; #line 2057 typedef struct _MSNdis_StatusLinkSpeedChange ; #line 2075 typedef struct _MSNdis_StatusProtocolBind ; #line 2092 typedef struct _MSNdis_StatusProtocolUnbind ; #line 2109 typedef struct _KEYBOARD_PORT_WMI_STD_DATA ; #line 2152 typedef struct _POINTER_PORT_WMI_STD_DATA ; #line 2205 typedef struct _MSMouse_ClassInformation ; #line 2223 typedef struct _MSKeyboard_ClassInformation ; #line 2241 typedef struct _MSAcpi_ThermalZoneTemperature ; #line 2304 typedef struct _WMI_DISK_GEOMETRY ; #line 2342 typedef struct _WMI_DISK_PERFORMANCE ; #line 2415 typedef struct _MSDiskDriver_Performance ; #line 2437 typedef struct _STORAGE_FAILURE_PREDICT_STATUS ; #line 2460 typedef struct _STORAGE_FAILURE_PREDICT_DATA ; #line 2483 typedef struct _STORAGE_FAILURE_PREDICT_EVENT ; #line 2513 typedef struct _STORAGE_FAILURE_PREDICT_FUNCTION ; #line 2528 typedef struct _MSIde_PortDeviceInfo ; #line 2556 typedef struct _MSSerial_PortName ; #line 2573 typedef struct _SERIAL_WMI_COMM_DATA ; #line 2723 typedef struct _SERIAL_WMI_HW_DATA ; #line 2770 typedef struct _SERIAL_WMI_PERF_DATA ; #line 2813 typedef struct _SERIAL_WMI_COMMPROP ; #line 2920 typedef struct _PARPORT_WMI_ALLOC_FREE_COUNTS ; #line 2943 typedef struct _PARALLEL_WMI_LOG_INFO ; #line 3041 typedef struct _REDBOOK_WMI_STD_DATA ; #line 3094 typedef struct _REDBOOK_WMI_PERF_DATA ; #line 3137 typedef struct _RegisteredGuids ; #line 96 "parport.h" typedef struct _DEVICE_EXTENSION ; #line 265 typedef struct _SYNCHRONIZED_COUNT_CONTEXT ; #line 270 typedef struct _SYNCHRONIZED_LIST_CONTEXT ; #line 275 typedef struct _SYNCHRONIZED_DISCONNECT_CONTEXT ; #line 280 typedef struct _ISR_LIST_ENTRY ; #line 288 typedef struct _REMOVAL_RELATIONS_LIST_ENTRY ; #line 29 "initunld.c" NTSTATUS DriverEntry(PDRIVER_OBJECT DriverObject , PUNICODE_STRING pRegistryPath ) { void *Buffer; #line 58 PptRegInitDriverSettings(pRegistryPath); #line 75 /* RegistryPath.Buffer = ExAllocatePoolWithTag(PagedPool, pRegistryPath->MaximumLength, 'PraP'); */ Buffer = ExAllocatePoolWithTag(PagedPool, pRegistryPath->MaximumLength, 'PraP'); #line 76 //BLAST if((void * )0 == RegistryPath.Buffer) if((void * )0 == Buffer) { #line 77 do { #line 77 ; } while(0); #line 78 return (NTSTATUS )0xC000009AL; } else { #line 80 memset(RegistryPath.Buffer, 0, pRegistryPath->MaximumLength); RegistryPath.Length = pRegistryPath->Length; RegistryPath.MaximumLength = pRegistryPath->MaximumLength; memmove(RegistryPath.Buffer, pRegistryPath->Buffer, pRegistryPath->Length); } #line 90 PptPnpInitDispatchFunctionTable(); #line 96 (DriverObject->MajorFunction)[0x00] = PptDispatchCreate; (DriverObject->MajorFunction)[0x02] = PptDispatchClose; (DriverObject->MajorFunction)[0x0f] = PptDispatchInternalDeviceControl; (DriverObject->MajorFunction)[0x12] = PptDispatchCleanup; (DriverObject->MajorFunction)[0x1b] = PptDispatchPnp; (DriverObject->MajorFunction)[0x16] = PptDispatchPower; (DriverObject->MajorFunction)[0x17] = PptDispatchSystemControl; (DriverObject->DriverExtension)->AddDevice = PptPnpAddDevice; DriverObject->DriverUnload = PptUnload; #line 106 return (NTSTATUS )0x00000000L; } void PptUnload(PDRIVER_OBJECT DriverObject ) { #line 134 PDEVICE_OBJECT CurrentDevice ; PDEVICE_EXTENSION Extension ; PLIST_ENTRY Head ; PISR_LIST_ENTRY Entry ; #line 139 do { #line 139 ; } while(0); #line 141 CurrentDevice = DriverObject->DeviceObject; #line 143 while(CurrentDevice) { Extension = CurrentDevice->DeviceExtension; #line 147 if(Extension->InterruptRefCount) { #line 148 PptDisconnectInterrupt(Extension); } #line 151 while(! ((& Extension->IsrList)->Flink == & Extension->IsrList)) { #line 152 Head = (& Extension->IsrList)->Flink; { { #line 152 PLIST_ENTRY _EX_Blink ; #line 152 PLIST_ENTRY _EX_Flink ; #line 152 _EX_Flink = ((& Extension->IsrList)->Flink)->Flink ; #line 152 _EX_Blink = ((& Extension->IsrList)->Flink)->Blink ; #line 152 _EX_Blink->Flink = _EX_Flink; #line 152 _EX_Flink->Blink = _EX_Blink; } } #line 152 ; Entry = (ISR_LIST_ENTRY * )((PCHAR )Head - (ULONG_PTR )(& ((ISR_LIST_ENTRY * )0)->ListEntry)); #line 154 ExFreePool(Entry); } #line 157 ExFreePool((Extension->DeviceName).Buffer); #line 159 IoDeleteDevice(CurrentDevice); #line 161 (IoGetConfigurationInformation())->ParallelCount--; #line 163 CurrentDevice = DriverObject->DeviceObject; } #line 166 if(PortInfoMutex) { #line 167 ExFreePool(PortInfoMutex); PortInfoMutex = (void * )0; } #line 171 RtlFreeUnicodeString(& RegistryPath); } #line 16 "C:/Program Files/Microsoft Visual Studio/VC98/include/excpt.h" #pragma once #line 32 #pragma pack(push, 8) #line 72 typedef enum _EXCEPTION_DISPOSITION ; #line 89 struct _EXCEPTION_RECORD ; #line 90 struct _CONTEXT ; #line 155 #pragma pack(pop) #line 25 "C:/NTDDK/inc/ntdef.h" #pragma once #line 15 "C:/Program Files/Microsoft Visual Studio/VC98/include/ctype.h" #pragma once #line 60 typedef unsigned short ; #line 66 typedef wchar_t ; #line 67 typedef wchar_t ; #line 127 "C:/NTDDK/inc/ntdef.h" typedef unsigned long ; #line 25 "C:/NTDDK/inc/basetsd.h" #pragma once #line 36 typedef int ; #line 37 typedef int ; #line 43 typedef unsigned int ; #line 44 typedef unsigned int ; #line 45 typedef unsigned int ; #line 84 typedef int ; #line 85 typedef unsigned int ; typedef long ; #line 88 typedef unsigned long ; #line 248 typedef unsigned short ; #line 249 typedef short ; #line 250 typedef unsigned long ; #line 288 typedef ULONG_PTR ; #line 289 typedef LONG_PTR ; #line 295 typedef ULONG_PTR ; #line 301 typedef __int64 ; #line 302 typedef __int64 ; #line 309 typedef unsigned __int64 ; #line 310 typedef unsigned __int64 ; #line 311 typedef unsigned __int64 ; #line 217 "C:/NTDDK/inc/ntdef.h" typedef void ; #line 218 typedef void ; #line 266 typedef char ; #line 267 typedef short ; #line 268 typedef long ; #line 276 typedef wchar_t ; #line 282 typedef WCHAR ; #line 283 typedef WCHAR ; #line 284 typedef const WCHAR ; #line 285 typedef WCHAR ; #line 286 typedef WCHAR ; typedef const WCHAR ; #line 293 typedef CHAR ; #line 294 typedef CHAR ; typedef const CHAR ; #line 297 typedef CHAR ; #line 298 typedef CHAR ; #line 299 typedef const CHAR ; #line 321 typedef char ; #line 322 typedef unsigned char ; #line 326 typedef LPSTR ; #line 327 typedef LPSTR ; #line 328 typedef LPCSTR ; #line 337 typedef double ; typedef struct _QUAD ; #line 349 typedef SHORT ; #line 350 typedef LONG ; #line 351 typedef QUAD ; #line 360 typedef unsigned char ; #line 361 typedef unsigned short ; #line 362 typedef unsigned long ; #line 363 typedef QUAD ; #line 369 typedef UCHAR ; #line 370 typedef USHORT ; #line 371 typedef ULONG ; #line 372 typedef UQUAD ; #line 378 typedef signed char ; #line 379 typedef SCHAR ; #line 394 typedef void ; #line 400 typedef HANDLE ; #line 406 typedef UCHAR ; #line 407 typedef USHORT ; #line 408 typedef ULONG ; #line 414 typedef LONG ; #line 478 typedef char ; #line 479 typedef short ; #line 480 typedef ULONG ; typedef CCHAR ; #line 483 typedef CSHORT ; #line 484 typedef CLONG ; #line 492 typedef ULONG ; #line 493 typedef PULONG ; #line 494 typedef USHORT ; #line 500 typedef ULONG ; #line 501 typedef ULONG ; #line 508 typedef LONG ; typedef NTSTATUS ; #line 602 typedef struct _FLOAT128 ; #line 607 typedef FLOAT128 ; #line 621 typedef __int64 ; #line 622 typedef unsigned __int64 ; #line 639 typedef LONGLONG ; #line 640 typedef ULONGLONG ; #line 644 typedef LONGLONG ; #line 649 typedef union _LARGE_INTEGER ; #line 662 typedef LARGE_INTEGER ; #line 668 typedef union _ULARGE_INTEGER ; #line 681 typedef ULARGE_INTEGER ; #line 690 typedef struct _LUID ; #line 696 typedef ULONGLONG ; #line 697 typedef DWORDLONG ; #line 707 typedef LARGE_INTEGER ; #line 831 #pragma warning(push) #pragma warning(disable:4035) __inline ULONGLONG __stdcall Int64ShllMod32___4(ULONGLONG Value , ULONG ShiftCount ) { #line 842 __asm { mov ecx, ShiftCount mov eax, dword ptr [Value] mov edx, dword ptr [Value+4] shld edx, eax, cl shl eax, cl }; } #line 845 __inline LONGLONG __stdcall Int64ShraMod32___4(LONGLONG Value , ULONG ShiftCount ) { #line 852 __asm { mov ecx, ShiftCount mov eax, dword ptr [Value] mov edx, dword ptr [Value+4] shrd eax, edx, cl sar edx, cl }; } #line 855 __inline ULONGLONG __stdcall Int64ShrlMod32___4(ULONGLONG Value , ULONG ShiftCount ) { #line 862 __asm { mov ecx, ShiftCount mov eax, dword ptr [Value] mov edx, dword ptr [Value+4] shrd eax, edx, cl shr edx, cl }; } #pragma warning(pop) #line 956 typedef enum _EVENT_TYPE ; #line 965 typedef enum _TIMER_TYPE ; #line 974 typedef enum _WAIT_TYPE ; #line 983 typedef CHAR ; #line 984 typedef const char ; #line 991 typedef struct _STRING ; #line 999 typedef STRING ; typedef STRING ; #line 1002 typedef PSTRING ; typedef STRING ; #line 1005 typedef PSTRING ; #line 1011 typedef struct _CSTRING ; #line 1016 typedef CSTRING ; #line 1019 typedef STRING ; #line 1020 typedef PSTRING ; #line 1027 typedef struct _UNICODE_STRING ; #line 1036 typedef UNICODE_STRING ; #line 1037 typedef const UNICODE_STRING ; #line 1046 typedef UCHAR ; #line 1047 typedef BOOLEAN ; #line 1057 typedef struct _LIST_ENTRY ; #line 1067 typedef struct _SINGLE_LIST_ENTRY ; #line 1078 typedef struct LIST_ENTRY32 ; #line 1082 typedef LIST_ENTRY32 ; typedef struct LIST_ENTRY64 ; #line 1088 typedef LIST_ENTRY64 ; #line 1127 typedef struct _STRING32 ; #line 1132 typedef STRING32 ; typedef STRING32 ; #line 1135 typedef UNICODE_STRING32 ; typedef STRING32 ; #line 1138 typedef ANSI_STRING32 ; #line 1141 typedef struct _STRING64 ; #line 1146 typedef STRING64 ; typedef STRING64 ; #line 1149 typedef UNICODE_STRING64 ; typedef STRING64 ; #line 1152 typedef ANSI_STRING64 ; #line 1173 typedef struct _OBJECT_ATTRIBUTES ; #line 1181 typedef OBJECT_ATTRIBUTES ; #line 17 "C:/NTDDK/inc/guiddef.h" typedef struct _GUID ; #line 70 typedef GUID ; #line 75 typedef const GUID ; #line 81 typedef GUID ; #line 82 typedef IID ; #line 85 typedef GUID ; #line 86 typedef CLSID ; #line 89 typedef GUID ; #line 90 typedef FMTID ; #line 16 "C:/NTDDK/inc/string.h" #pragma once #line 54 typedef unsigned int ; #line 1233 "C:/NTDDK/inc/ntdef.h" typedef struct _OBJECTID ; #line 1288 struct _CONTEXT ; #line 1289 struct _EXCEPTION_RECORD ; typedef EXCEPTION_DISPOSITION ; #line 1306 typedef UCHAR ; typedef KIRQL ; #line 1316 typedef enum _NT_PRODUCT_TYPE ; #line 1329 typedef enum _SUITE_TYPE ; #line 75 "C:/NTDDK/inc/ddk/ntddk.h" typedef struct _KTHREAD ; #line 76 typedef struct _ETHREAD ; #line 77 typedef struct _EPROCESS ; #line 78 typedef struct _PEB ; #line 79 typedef struct _KINTERRUPT ; #line 80 typedef struct _IO_TIMER ; #line 81 typedef struct _OBJECT_TYPE ; #line 82 typedef struct _CALLBACK_OBJECT ; #line 83 typedef struct _DEVICE_HANDLER_OBJECT ; #line 84 typedef struct _BUS_HANDLER ; #line 143 typedef union _SLIST_HEADER ; #line 204 typedef CCHAR ; typedef enum _MODE ; #line 222 struct _KAPC ; typedef void ; #line 232 typedef void ; #line 242 typedef void ; #line 248 typedef BOOLEAN ; #line 254 typedef BOOLEAN ; #line 265 typedef struct _KAPC ; #line 292 struct _KDPC ; typedef void ; #line 351 typedef enum _KDPC_IMPORTANCE ; #line 361 typedef struct _KDPC ; #line 377 typedef PVOID ; typedef void ; #line 392 typedef struct _KIPI_COUNTS ; #line 443 typedef struct _MDL ; #line 532 typedef PVOID ; #line 538 typedef PVOID ; #line 544 typedef PVOID ; typedef ULONG ; #line 547 typedef ACCESS_MASK ; #line 597 typedef struct _GENERIC_MAPPING ; #line 603 typedef GENERIC_MAPPING ; #line 24 "C:/NTDDK/inc/pshpack4.h" #pragma warning(disable:4103) #pragma pack(push, 4) #line 618 "C:/NTDDK/inc/ddk/ntddk.h" typedef struct _LUID_AND_ATTRIBUTES ; #line 622 typedef LUID_AND_ATTRIBUTES ; #line 623 typedef LUID_AND_ATTRIBUTES_ARRAY ; #line 27 "C:/NTDDK/inc/poppack.h" #pragma warning(disable:4103) #pragma pack(pop) #line 642 "C:/NTDDK/inc/ddk/ntddk.h" typedef struct _ACL ; #line 649 typedef ACL ; #line 681 typedef struct _PRIVILEGE_SET ; #line 735 typedef enum _SECURITY_IMPERSONATION_LEVEL ; #line 753 typedef BOOLEAN ; #line 762 typedef struct _SECURITY_QUALITY_OF_SERVICE ; #line 774 typedef struct _SE_IMPERSONATION_STATE ; #line 782 typedef ULONG ; #line 809 typedef ULONG ; #line 810 typedef KAFFINITY ; #line 816 typedef LONG ; #line 824 typedef ULONG_PTR ; #line 825 typedef KSPIN_LOCK ; #line 833 typedef void ; #line 842 typedef enum _KPROFILE_SOURCE ; #line 1079 typedef NTSTATUS ; #line 1088 typedef struct _RTL_QUERY_REGISTRY_TABLE ; #line 1952 #pragma warning(push) #pragma warning(disable:4035) #line 2019 #pragma warning(pop) #line 2214 typedef struct _TIME_FIELDS ; #line 2224 typedef TIME_FIELDS ; #line 2499 typedef struct _RTL_BITMAP ; #line 2503 typedef RTL_BITMAP ; #line 2627 typedef struct _RTL_BITMAP_RUN ; #line 2633 typedef RTL_BITMAP_RUN ; #line 2886 typedef struct _RTL_RANGE ; #line 2924 typedef struct _RTL_RANGE_LIST ; #line 2950 typedef struct _RANGE_LIST_ITERATOR ; #line 3019 typedef BOOLEAN ; #line 3155 typedef struct _OSVERSIONINFOA ; #line 3164 typedef struct _OSVERSIONINFOW ; #line 3177 typedef OSVERSIONINFOA ; #line 3178 typedef POSVERSIONINFOA ; #line 3179 typedef LPOSVERSIONINFOA ; #line 3182 typedef struct _OSVERSIONINFOEXA ; #line 3195 typedef struct _OSVERSIONINFOEXW ; #line 3213 typedef OSVERSIONINFOEXA ; #line 3214 typedef POSVERSIONINFOEXA ; #line 3215 typedef LPOSVERSIONINFOEXA ; #line 3648 typedef struct _IO_STATUS_BLOCK ; #line 3669 typedef void ; #line 3685 typedef enum _FILE_INFORMATION_CLASS ; #line 3731 typedef struct _FILE_BASIC_INFORMATION ; #line 3739 typedef struct _FILE_STANDARD_INFORMATION ; #line 3747 typedef struct _FILE_POSITION_INFORMATION ; #line 3751 typedef struct _FILE_ALIGNMENT_INFORMATION ; #line 3755 typedef struct _FILE_NAME_INFORMATION ; #line 3760 typedef struct _FILE_NETWORK_OPEN_INFORMATION ; #line 3770 typedef struct _FILE_ATTRIBUTE_TAG_INFORMATION ; #line 3775 typedef struct _FILE_DISPOSITION_INFORMATION ; #line 3779 typedef struct _FILE_END_OF_FILE_INFORMATION ; #line 3784 typedef struct _FILE_FULL_EA_INFORMATION ; #line 3798 typedef enum _FSINFOCLASS ; #line 3810 typedef struct _FILE_FS_DEVICE_INFORMATION ; #line 3820 typedef union _FILE_SEGMENT_ELEMENT ; #line 3829 typedef enum _INTERFACE_TYPE ; #line 3854 typedef enum _DMA_WIDTH ; #line 3865 typedef enum _DMA_SPEED ; #line 3879 typedef void ; #line 3880 typedef void ; #line 3888 typedef enum _BUS_DATA_TYPE ; #line 3910 typedef struct _IO_ERROR_LOG_PACKET ; #line 3931 typedef struct _IO_ERROR_LOG_MESSAGE ; #line 4074 typedef struct _KEY_BASIC_INFORMATION ; #line 4081 typedef struct _KEY_NODE_INFORMATION ; #line 4091 typedef struct _KEY_FULL_INFORMATION ; #line 4106 typedef struct _KEY_NAME_INFORMATION ; #line 4112 typedef enum _KEY_INFORMATION_CLASS ; #line 4122 typedef struct _KEY_WRITE_TIME_INFORMATION ; #line 4126 typedef enum _KEY_SET_INFORMATION_CLASS ; #line 4134 typedef struct _KEY_VALUE_BASIC_INFORMATION ; #line 4141 typedef struct _KEY_VALUE_FULL_INFORMATION ; #line 4151 typedef struct _KEY_VALUE_PARTIAL_INFORMATION ; #line 4158 typedef struct _KEY_VALUE_PARTIAL_INFORMATION_ALIGN64 ; #line 4164 typedef struct _KEY_VALUE_ENTRY ; #line 4171 typedef enum _KEY_VALUE_INFORMATION_CLASS ; #line 4210 typedef struct _OBJECT_NAME_INFORMATION ; #line 4221 typedef enum _SECTION_INHERIT ; #line 4294 typedef struct _CLIENT_ID ; #line 4298 typedef CLIENT_ID ; #line 4315 typedef struct _NT_TIB ; #line 4327 typedef NT_TIB ; #line 4332 typedef enum _PROCESSINFOCLASS ; #line 4366 typedef enum _THREADINFOCLASS ; #line 4395 typedef struct _PROCESS_WS_WATCH_INFORMATION ; #line 4405 typedef struct _PROCESS_BASIC_INFORMATION ; #line 4413 typedef PROCESS_BASIC_INFORMATION ; #line 4422 typedef struct _PROCESS_DEVICEMAP_INFORMATION ; #line 4440 typedef struct _PROCESS_SESSION_INFORMATION ; #line 4454 typedef struct _QUOTA_LIMITS ; #line 4462 typedef QUOTA_LIMITS ; #line 4472 typedef struct _IO_COUNTERS ; #line 4480 typedef IO_COUNTERS ; #line 4488 typedef struct _VM_COUNTERS ; #line 4501 typedef VM_COUNTERS ; #line 4508 typedef struct _POOLED_USAGE_AND_LIMITS ; #line 4519 typedef POOLED_USAGE_AND_LIMITS ; #line 4528 typedef struct _PROCESS_ACCESS_TOKEN ; #line 4555 typedef struct _KERNEL_USER_TIMES ; #line 4561 typedef KERNEL_USER_TIMES ; #line 4587 typedef enum _SYSTEM_POWER_STATE ; #line 4598 typedef enum { PowerActionNone = 0, PowerActionReserved, PowerActionSleep, PowerActionHibernate, PowerActionShutdown, PowerActionShutdownReset, PowerActionShutdownOff, PowerActionWarmEject } ; typedef enum _DEVICE_POWER_STATE ; #line 4618 typedef union _POWER_STATE ; #line 4623 typedef enum _POWER_STATE_TYPE ; #line 4654 typedef ULONG ; typedef enum { LT_DONT_CARE, LT_LOWEST_LATENCY } ; #line 4663 typedef enum { SystemPowerPolicyAc, SystemPowerPolicyDc, VerifySystemPolicyAc, VerifySystemPolicyDc, SystemPowerCapabilities, SystemBatteryState, SystemPowerStateHandler, ProcessorStateHandler, SystemPowerPolicyCurrent, AdministratorPowerPolicy, SystemReserveHiberFile, ProcessorInformation, SystemPowerInformation } ; #line 4690 typedef ULONG ; typedef LONG ; #line 4693 typedef ULONG ; #line 4719 typedef union _MCI_STATS ; #line 4978 typedef struct _KPCR ; #line 5006 typedef KPCR ; #line 5012 typedef struct _KFLOATING_SAVE ; #line 5153 typedef enum _INTERLOCKED_RESULT ; #line 5252 #pragma warning(disable:4035) #line 6994 typedef struct _KSYSTEM_TIME ; #line 7014 #pragma warning(push) #pragma warning(disable:4164) #line 7019 #pragma function(_enable) #line 7020 #pragma function(_disable) #line 7024 #pragma warning(pop) #line 7085 typedef struct _FLOATING_SAVE_AREA ; #line 7097 typedef FLOATING_SAVE_AREA ; #line 7109 typedef struct _CONTEXT ; #line 7197 typedef CONTEXT ; #line 7826 typedef void ; #line 7850 typedef enum _ALTERNATIVE_ARCHITECTURE_TYPE ; #line 7899 typedef struct _KUSER_SHARED_DATA ; #line 8123 typedef enum _CM_SERVICE_NODE_TYPE ; #line 8132 typedef enum _CM_SERVICE_LOAD_TYPE ; #line 8140 typedef enum _CM_ERROR_CONTROL_TYPE ; #line 8172 typedef int ; #line 8198 typedef enum _CM_SHARE_DISPOSITION ; #line 8211 typedef PVOID ; #line 24 "C:/NTDDK/inc/pshpack4.h" #pragma warning(disable:4103) #pragma pack(push, 4) #line 8309 "C:/NTDDK/inc/ddk/ntddk.h" typedef struct _CM_PARTIAL_RESOURCE_DESCRIPTOR ; #line 27 "C:/NTDDK/inc/poppack.h" #pragma warning(disable:4103) #pragma pack(pop) #line 8419 "C:/NTDDK/inc/ddk/ntddk.h" typedef struct _CM_PARTIAL_RESOURCE_LIST ; #line 8443 typedef struct _CM_FULL_RESOURCE_DESCRIPTOR ; #line 8454 typedef struct _CM_RESOURCE_LIST ; #line 8471 typedef struct _DEVICE_FLAGS ; #line 8485 typedef struct _CM_COMPONENT_INFORMATION ; #line 8503 typedef struct _CM_ROM_BLOCK ; #line 24 "C:/NTDDK/inc/pshpack1.h" #pragma warning(disable:4103) #pragma pack(push, 1) #line 8518 "C:/NTDDK/inc/ddk/ntddk.h" typedef struct _CM_INT13_DRIVE_PARAMETER ; #line 8532 typedef struct _CM_MCA_POS_DATA ; #line 8544 typedef struct _EISA_MEMORY_TYPE ; #line 8554 typedef struct _EISA_MEMORY_CONFIGURATION ; #line 8567 typedef struct _EISA_IRQ_DESCRIPTOR ; #line 8575 typedef struct _EISA_IRQ_CONFIGURATION ; #line 8585 typedef struct _DMA_CONFIGURATION_BYTE0 ; #line 8592 typedef struct _DMA_CONFIGURATION_BYTE1 ; #line 8599 typedef struct _EISA_DMA_CONFIGURATION ; #line 8609 typedef struct _EISA_PORT_DESCRIPTOR ; #line 8616 typedef struct _EISA_PORT_CONFIGURATION ; #line 8628 typedef struct _CM_EISA_SLOT_INFORMATION ; #line 8644 typedef struct _CM_EISA_FUNCTION_INFORMATION ; #line 8678 typedef struct _CM_PNP_BIOS_DEVICE_NODE ; #line 8692 typedef struct _CM_PNP_BIOS_INSTALLATION_CHECK ; #line 27 "C:/NTDDK/inc/poppack.h" #pragma warning(disable:4103) #pragma pack(pop) #line 8761 "C:/NTDDK/inc/ddk/ntddk.h" typedef struct _CM_SCSI_DEVICE_DATA ; #line 8775 typedef struct _CM_VIDEO_DEVICE_DATA ; #line 8785 typedef struct _CM_SONIC_DEVICE_DATA ; #line 8796 typedef struct _CM_SERIAL_DEVICE_DATA ; #line 8810 typedef struct _CM_MONITOR_DEVICE_DATA ; #line 8844 typedef struct _CM_FLOPPY_DEVICE_DATA ; #line 8881 typedef struct _CM_KEYBOARD_DEVICE_DATA ; #line 8893 typedef struct _CM_DISK_GEOMETRY_DEVICE_DATA ; #line 8905 typedef struct _CM_PCCARD_DEVICE_DATA ; #line 8944 typedef struct _IO_RESOURCE_DESCRIPTOR ; #line 9027 typedef struct _IO_RESOURCE_LIST ; #line 9036 typedef struct _IO_RESOURCE_REQUIREMENTS_LIST ; #line 9065 typedef struct _EXCEPTION_RECORD ; #line 9074 typedef EXCEPTION_RECORD ; typedef struct _EXCEPTION_RECORD32 ; #line 9085 typedef struct _EXCEPTION_RECORD64 ; #line 9099 typedef struct _EXCEPTION_POINTERS ; #line 9111 typedef enum _CONFIGURATION_TYPE ; #line 9161 typedef enum _KINTERRUPT_MODE ; #line 9170 typedef enum _KWAIT_REASON ; #line 9207 typedef struct _DISPATCHER_HEADER ; #line 9217 typedef struct _KWAIT_BLOCK ; #line 9230 typedef void ; #line 9244 typedef struct _KDEVICE_QUEUE ; #line 9252 typedef struct _KDEVICE_QUEUE_ENTRY ; #line 9263 typedef struct _KEVENT ; #line 9271 typedef BOOLEAN ; #line 9281 typedef struct _KMUTANT ; #line 9294 typedef struct _KSEMAPHORE ; #line 9304 typedef struct _KTIMER ; #line 9899 typedef enum _KBUGCHECK_BUFFER_DUMP_STATE ; #line 9907 typedef void ; #line 9914 typedef struct _KBUGCHECK_CALLBACK_RECORD ; #line 10002 typedef void ; #line 10020 typedef LOGICAL ; #line 10037 typedef void ; #line 10053 typedef enum _MEMORY_CACHING_TYPE_ORIG ; #line 10057 typedef enum _MEMORY_CACHING_TYPE ; #line 10087 typedef struct _DBGKD_DEBUG_DATA_HEADER64 ; #line 10115 typedef enum _POOL_TYPE ; #line 10195 typedef enum _EX_POOL_PRIORITY ; #line 10247 typedef struct _FAST_MUTEX ; #line 10574 typedef PVOID ; #line 10582 typedef void ; #line 10588 typedef struct _GENERAL_LOOKASIDE ; #line 10619 typedef struct _NPAGED_LOOKASIDE_LIST ; #line 10729 typedef struct _PAGED_LOOKASIDE_LIST ; #line 10882 typedef enum _WORK_QUEUE_TYPE ; #line 10889 typedef void ; #line 10895 typedef struct _WORK_QUEUE_ITEM ; #line 10926 typedef struct _ZONE_SEGMENT_HEADER ; #line 10931 typedef struct _ZONE_HEADER ; #line 11156 typedef ULONG_PTR ; #line 11157 typedef ERESOURCE_THREAD ; typedef struct _OWNER_ENTRY ; #line 11168 typedef struct _ERESOURCE ; #line 11197 typedef struct _RESOURCE_HASH_ENTRY ; #line 11204 typedef struct _RESOURCE_PERFORMANCE_DATA ; #line 11429 typedef struct _CALLBACK_OBJECT ; typedef void ; #line 11474 typedef GUID ; #line 11862 typedef enum _MM_SYSTEM_SIZE ; #line 11884 typedef enum _LOCK_OPERATION ; #line 11970 typedef enum _MM_PAGE_PRIORITY ; #line 11999 typedef struct _PHYSICAL_MEMORY_RANGE ; #line 12385 typedef NTSTATUS ; #line 12389 typedef NTSTATUS ; #line 12399 struct _DRIVER_OBJECT ; #line 12411 typedef enum _SECURITY_OPERATION_CODE ; #line 12426 typedef struct _SECURITY_SUBJECT_CONTEXT ; #line 12448 typedef struct _INITIAL_PRIVILEGE_SET ; #line 12462 typedef struct _ACCESS_STATE ; #line 12571 typedef void ; #line 12585 typedef void ; #line 12602 typedef struct _IMAGE_INFO ; #line 12620 typedef void ; #line 12859 typedef NTSTATUS ; #line 12878 typedef enum _IO_QUERY_DEVICE_DATA_FORMAT ; #line 12890 typedef enum _CREATE_FILE_TYPE ; #line 12905 struct _DEVICE_DESCRIPTION ; #line 12906 struct _DEVICE_OBJECT ; #line 12907 struct _DMA_ADAPTER ; #line 12908 struct _DRIVER_OBJECT ; #line 12909 struct _DRIVE_LAYOUT_INFORMATION ; #line 12910 struct _DISK_PARTITION ; #line 12911 struct _FILE_OBJECT ; #line 12912 struct _IRP ; #line 12913 struct _SCSI_REQUEST_BLOCK ; #line 12919 typedef void ; #line 12932 typedef void ; #line 12943 typedef NTSTATUS ; #line 12955 typedef void ; #line 12968 typedef void ; #line 12979 typedef NTSTATUS ; #line 12990 typedef void ; #line 13001 typedef void ; #line 13011 typedef NTSTATUS ; #line 13025 typedef BOOLEAN ; #line 13038 typedef BOOLEAN ; #line 13051 typedef BOOLEAN ; #line 13068 typedef BOOLEAN ; #line 13078 typedef BOOLEAN ; #line 13092 typedef BOOLEAN ; #line 13106 typedef BOOLEAN ; #line 13118 typedef BOOLEAN ; #line 13127 typedef BOOLEAN ; #line 13141 typedef BOOLEAN ; #line 13161 typedef void ; #line 13167 typedef void ; #line 13179 typedef void ; #line 13193 typedef BOOLEAN ; #line 13207 typedef BOOLEAN ; #line 13219 typedef BOOLEAN ; #line 13227 typedef BOOLEAN ; #line 13239 typedef BOOLEAN ; #line 13253 typedef NTSTATUS ; #line 13262 typedef NTSTATUS ; #line 13275 typedef NTSTATUS ; #line 13282 typedef NTSTATUS ; #line 13289 typedef BOOLEAN ; #line 13304 typedef BOOLEAN ; #line 13319 typedef BOOLEAN ; #line 13327 typedef BOOLEAN ; #line 13336 typedef BOOLEAN ; #line 13350 typedef struct _FAST_IO_DISPATCH ; #line 13386 typedef enum _IO_ALLOCATION_ACTION ; #line 13396 typedef IO_ALLOCATION_ACTION ; #line 13410 typedef struct _IO_SECURITY_CONTEXT ; #line 13434 typedef struct _VPB ; #line 13482 typedef struct _ADAPTER_OBJECT ; #line 13491 typedef struct _WAIT_CONTEXT_BLOCK ; #line 13503 typedef struct _CONTROLLER_OBJECT ; #line 13537 typedef struct _DEVICE_OBJECT ; #line 13575 typedef struct _DEVICE_OBJECT ; #line 13578 struct _DEVICE_OBJECT_POWER_EXTENSION ; typedef struct _DEVOBJ_EXTENSION ; #line 13608 typedef struct _DRIVER_EXTENSION ; #line 13645 typedef struct _DRIVER_OBJECT ; #line 13706 typedef struct _DRIVER_OBJECT ; #line 13715 typedef struct _SECTION_OBJECT_POINTERS ; #line 13720 typedef SECTION_OBJECT_POINTERS ; #line 13726 typedef struct _IO_COMPLETION_CONTEXT ; #line 13759 typedef struct _FILE_OBJECT ; #line 13788 typedef struct _FILE_OBJECT ; #line 13828 typedef struct _IRP ; #line 14078 typedef NTSTATUS ; #line 14163 typedef enum _DEVICE_RELATION_TYPE ; #line 14171 typedef struct _DEVICE_RELATIONS ; #line 14176 typedef enum _DEVICE_USAGE_NOTIFICATION_TYPE ; #line 14185 typedef struct _INTERFACE ; #line 14196 typedef struct _DEVICE_CAPABILITIES ; #line 14229 typedef struct _POWER_SEQUENCE ; #line 14235 typedef enum { BusQueryDeviceID = 0, BusQueryHardwareIDs = 1, BusQueryCompatibleIDs = 2, BusQueryInstanceID = 3, BusQueryDeviceSerialNumber = 4 } ; typedef ULONG ; #line 14252 typedef enum { DeviceTextDescription = 0, DeviceTextLocationInformation = 1 } ; #line 24 "C:/NTDDK/inc/pshpack4.h" #pragma warning(disable:4103) #pragma pack(push, 4) #line 14271 "C:/NTDDK/inc/ddk/ntddk.h" typedef struct _IO_STACK_LOCATION ; #line 27 "C:/NTDDK/inc/poppack.h" #pragma warning(disable:4103) #pragma pack(pop) #line 14615 "C:/NTDDK/inc/ddk/ntddk.h" typedef struct _SHARE_ACCESS ; #line 14635 typedef struct _CONFIGURATION_INFORMATION ; #line 14848 typedef struct _BOOTDISK_INFORMATION ; #line 15754 typedef struct _IO_REMOVE_LOCK_TRACKING_BLOCK ; typedef struct _IO_REMOVE_LOCK_COMMON_BLOCK ; #line 15764 typedef struct _IO_REMOVE_LOCK_DBG_BLOCK ; #line 15777 typedef struct _IO_REMOVE_LOCK ; #line 16009 typedef struct _IO_WORKITEM ; typedef void ; #line 16100 typedef enum { DevicePropertyDeviceDescription, DevicePropertyHardwareID, DevicePropertyCompatibleIDs, DevicePropertyBootConfiguration, DevicePropertyBootConfigurationTranslated, DevicePropertyClassName, DevicePropertyClassGuid, DevicePropertyDriverKeyName, DevicePropertyManufacturer, DevicePropertyFriendlyName, DevicePropertyLocationInformation, DevicePropertyPhysicalDeviceObjectName, DevicePropertyBusTypeGuid, DevicePropertyLegacyBusType, DevicePropertyBusNumber, DevicePropertyEnumeratorName, DevicePropertyAddress, DevicePropertyUINumber } ; typedef BOOLEAN ; #line 16129 typedef struct _DMA_ADAPTER ; #line 16135 typedef ULONG ; #line 16148 typedef struct _PNP_BUS_INFORMATION ; #line 16162 typedef struct _LEGACY_BUS_INFORMATION ; #line 16168 typedef struct _BUS_INTERFACE_STANDARD ; #line 16190 typedef BOOLEAN ; #line 16194 typedef NTSTATUS ; #line 16203 typedef NTSTATUS ; #line 16206 typedef NTSTATUS ; #line 16210 typedef NTSTATUS ; #line 16214 typedef NTSTATUS ; #line 16218 typedef void ; #line 16222 typedef NTSTATUS ; #line 16227 typedef void ; #line 16231 typedef struct _ACPI_INTERFACE_STANDARD ; #line 16255 typedef enum _ACPI_REG_TYPE ; #line 16268 typedef USHORT ; #line 16272 typedef void ; #line 16278 typedef struct ACPI_REGS_INTERFACE_STANDARD ; #line 16300 typedef struct { PVOID LinkNode ; ULONG StaticVector ; UCHAR Flags ; } ; #line 16314 typedef NTSTATUS ; #line 16329 typedef NTSTATUS ; #line 16336 typedef void ; #line 16343 typedef struct _INT_ROUTE_INTERFACE_STANDARD ; #line 16366 typedef struct _IO_ASSIGNED_RESOURCES ; #line 16490 typedef enum _IO_NOTIFICATION_EVENT_CATEGORY ; #line 16504 typedef NTSTATUS ; #line 16537 typedef void ; #line 16573 typedef enum _ARBITER_ACTION ; #line 16586 typedef struct _ARBITER_CONFLICT_INFO ; #line 16608 typedef struct _ARBITER_PARAMETERS ; #line 16719 typedef enum _ARBITER_REQUEST_SOURCE ; #line 16731 typedef enum _ARBITER_RESULT ; #line 16761 typedef struct _ARBITER_LIST_ENTRY ; #line 16832 typedef NTSTATUS ; #line 16853 typedef struct _ARBITER_INTERFACE ; #line 16880 typedef enum _RESOURCE_TRANSLATION_DIRECTION ; #line 16889 typedef NTSTATUS ; #line 16901 typedef NTSTATUS ; #line 16915 typedef struct _TRANSLATOR_INTERFACE ; #line 16931 typedef NTSTATUS ; #line 16945 typedef struct _LEGACY_DEVICE_DETECTION_INTERFACE ; #line 16959 typedef struct _PLUGPLAY_NOTIFICATION_HEADER ; #line 16972 typedef struct _HWPROFILE_CHANGE_NOTIFICATION ; #line 16986 typedef struct _DEVICE_INTERFACE_CHANGE_NOTIFICATION ; #line 17006 typedef struct _TARGET_DEVICE_REMOVAL_NOTIFICATION ; #line 17026 typedef struct _TARGET_DEVICE_CUSTOM_NOTIFICATION ; #line 17054 typedef struct _DEVICE_DESCRIPTION ; #line 17086 typedef BOOLEAN ; #line 17333 typedef void ; #line 17339 typedef struct _DEVICE_CONTROL_CONTEXT ; #line 17349 typedef PBUS_HANDLER ; #line 17355 typedef void ; #line 17365 typedef enum _HAL_QUERY_INFORMATION_CLASS ; #line 17381 typedef enum _HAL_SET_INFORMATION_CLASS ; #line 17388 typedef NTSTATUS ; #line 17405 typedef NTSTATUS ; #line 17420 typedef void ; #line 17429 typedef void ; #line 17438 typedef NTSTATUS ; #line 17447 typedef NTSTATUS ; #line 17456 typedef NTSTATUS ; #line 17466 typedef NTSTATUS ; #line 17475 typedef NTSTATUS ; #line 17486 typedef struct _PM_DISPATCH_TABLE ; #line 17492 typedef NTSTATUS ; #line 17505 typedef struct _DMA_ADAPTER ; #line 17520 typedef NTSTATUS ; #line 17543 typedef BOOLEAN ; #line 17553 typedef NTSTATUS ; #line 17566 typedef void ; #line 17572 typedef void ; #line 17578 typedef BOOLEAN ; #line 17588 typedef struct { ULONG Version ; pHalQuerySystemInformation HalQuerySystemInformation ; pHalSetSystemInformation HalSetSystemInformation ; pHalQueryBusSlots HalQueryBusSlots ; ULONG Spare1 ; pHalExamineMBR HalExamineMBR ; pHalIoAssignDriveLetters HalIoAssignDriveLetters ; pHalIoReadPartitionTable HalIoReadPartitionTable ; pHalIoSetPartitionInformation HalIoSetPartitionInformation ; pHalIoWritePartitionTable HalIoWritePartitionTable ; pHalHandlerForBus HalReferenceHandlerForBus ; pHalReferenceBusHandler HalReferenceBusHandler ; pHalReferenceBusHandler HalDereferenceBusHandler ; pHalInitPnpDriver HalInitPnpDriver ; pHalInitPowerManagement HalInitPowerManagement ; pHalGetDmaAdapter HalGetDmaAdapter ; pHalGetInterruptTranslator HalGetInterruptTranslator ; } ; #line 17650 typedef struct _HAL_BUS_INFORMATION ; #line 17658 typedef struct _HAL_PROFILE_SOURCE_INFORMATION ; #line 17665 typedef struct _HAL_PROFILE_SOURCE_INTERVAL ; #line 17671 typedef enum _HAL_DISPLAY_BIOS_INFORMATION ; #line 17678 typedef struct _HAL_POWER_INFORMATION ; #line 17683 typedef struct _HAL_PROCESSOR_SPEED_INFO ; #line 17688 typedef struct _HAL_CALLBACKS ; #line 17694 typedef struct _HAL_PROCESSOR_FEATURE ; #line 17706 typedef union _MCI_ADDR ; #line 17716 typedef enum { HAL_MCE_RECORD, HAL_MCA_RECORD } ; #line 17726 typedef struct _MCA_EXCEPTION ; #line 17752 typedef void ; #line 17762 typedef struct _MCA_DRIVER_INFO ; #line 17772 typedef struct _SCATTER_GATHER_ELEMENT ; #line 17778 #pragma warning(disable:4200) #line 17779 typedef struct _SCATTER_GATHER_LIST ; #line 17784 #pragma warning(default:4200) #line 17788 typedef struct _DMA_OPERATIONS ; typedef struct _DMA_ADAPTER ; #line 17797 typedef void ; #line 17801 typedef PVOID ; #line 17808 typedef void ; #line 17816 typedef NTSTATUS ; #line 17824 typedef BOOLEAN ; #line 17833 typedef void ; #line 17837 typedef void ; #line 17843 typedef PHYSICAL_ADDRESS ; #line 17852 typedef ULONG ; #line 17856 typedef ULONG ; #line 17860 typedef void ; #line 17868 typedef NTSTATUS ; #line 17880 typedef void ; #line 17887 typedef struct _DMA_OPERATIONS ; #line 18235 typedef void ; #line 18321 typedef struct _OBJECT_HANDLE_INFORMATION ; #line 18402 typedef struct _PCI_SLOT_NUMBER ; #line 18418 typedef struct _PCI_COMMON_CONFIG ; #line 18591 typedef struct _PCI_CAPABILITIES_HEADER ; #line 18600 typedef struct _PCI_PMC ; #line 18618 typedef struct _PCI_PMCSR ; #line 18628 typedef struct _PCI_PMCSR_BSE ; #line 18635 typedef struct _PCI_PM_CAPABILITY ; #line 18679 typedef struct _PCI_AGP_CAPABILITY ; #line 18720 typedef struct _PCI_MSI_CAPABILITY ; #line 18946 typedef void ; #line 18954 typedef void ; #line 18963 typedef void ; #line 18975 typedef struct _PCIBUSDATA ; #line 18986 typedef ULONG ; #line 18995 typedef void ; #line 19000 typedef void ; #line 19006 typedef struct _PCI_BUS_INTERFACE_STANDARD ; #line 19028 typedef BOOLEAN ; #line 19043 typedef struct _PCI_DEVICE_PRESENT_INTERFACE ; #line 96 "C:/NTDDK/inc/ntddpar.h" typedef struct _PAR_QUERY_INFORMATION ; #line 100 typedef struct _PAR_SET_INFORMATION ; #line 117 typedef struct _PAR_DEVICE_ID_SIZE_INFORMATION ; #line 128 typedef struct _PARCLASS_NEGOTIATION_MASK ; #line 103 "C:/NTDDK/inc/ddk/parallel.h" typedef struct _PARPORT_REMOVAL_RELATIONS ; #line 114 static UCHAR ModeQualifier___3[7] = {0xAA, 0x55, 0x00, 0xFF, 0x87, 0x78, 0xFF}; #line 117 static UCHAR LegacyZipModeQualifier___3[3] = {0x00, 0x3c, 0x20}; typedef enum { P12843DL_OFF, P12843DL_DOT3_DL, P12843DL_MLC_DL, P12843DL_DOT4_DL } ; #line 138 typedef BOOLEAN ; #line 144 typedef void ; #line 150 typedef ULONG ; #line 156 typedef NTSTATUS ; #line 163 typedef NTSTATUS ; #line 170 typedef NTSTATUS ; #line 177 typedef NTSTATUS ; #line 184 typedef NTSTATUS ; #line 191 typedef NTSTATUS ; #line 213 typedef struct _PARALLEL_PARCHIP_INFO ; #line 226 typedef struct _PARALLEL_PORT_INFORMATION ; #line 236 typedef struct _PARALLEL_PNP_INFORMATION ; #line 298 typedef struct _PARALLEL_1284_COMMAND ; #line 320 typedef struct _PARALLEL_CHIP_MODE ; #line 333 typedef void ; #line 339 typedef struct _PARALLEL_INTERRUPT_SERVICE_ROUTINE ; #line 351 typedef struct _PARALLEL_INTERRUPT_INFORMATION ; #line 363 typedef struct _MORE_PARALLEL_PORT_INFORMATION ; #line 372 typedef enum { SAFE_MODE, UNSAFE_MODE } ; #line 384 typedef USHORT ; #line 400 typedef NTSTATUS ; #line 411 typedef NTSTATUS ; #line 417 typedef NTSTATUS ; #line 423 typedef NTSTATUS ; #line 429 typedef NTSTATUS ; #line 439 typedef NTSTATUS ; #line 449 typedef NTSTATUS ; #line 456 typedef NTSTATUS ; #line 463 typedef struct _PARCLASS_INFORMATION ; #line 719 typedef enum { PHASE_UNKNOWN, PHASE_NEGOTIATION, PHASE_SETUP, PHASE_FORWARD_IDLE, PHASE_FORWARD_XFER, PHASE_FWD_TO_REV, PHASE_REVERSE_IDLE, PHASE_REVERSE_XFER, PHASE_REV_TO_FWD, PHASE_TERMINATE, PHASE_DATA_AVAILABLE, PHASE_DATA_NOT_AVAIL, PHASE_INTERRUPT_HOST } ; typedef enum { HW_MODE_COMPATIBILITY, HW_MODE_PS2, HW_MODE_FAST_CENTRONICS, HW_MODE_ECP, HW_MODE_EPP, HW_MODE_RESERVED, HW_MODE_TEST, HW_MODE_CONFIGURATION } ; #line 28 "C:/NTDDK/inc/ddk/wdm/wmilib.h" #pragma once #line 38 typedef struct { LPCGUID Guid ; ULONG InstanceCount ; ULONG Flags ; } ; #line 45 typedef NTSTATUS ; #line 101 typedef NTSTATUS ; #line 162 typedef NTSTATUS ; #line 206 typedef NTSTATUS ; #line 253 typedef NTSTATUS ; #line 306 typedef enum { WmiEventControl, WmiDataBlockControl } ; #line 312 typedef NTSTATUS ; #line 355 typedef struct _WMILIB_CONTEXT ; #line 411 typedef enum { IrpProcessed, IrpNotCompleted, IrpNotWmi, IrpForward } ; #line 13 "C:/NTDDK/inc/wmidata.h" typedef struct _MSWmi_MofData ; #line 51 typedef struct _MSWmi_ProviderInfo ; #line 66 typedef struct _MSWmi_PnPDeviceId ; #line 83 typedef struct _MSWmi_PnPInstanceNames ; #line 105 typedef struct _MSSmBios_RawSMBiosTables ; #line 147 typedef struct _MSPower_DeviceEnable ; #line 165 typedef struct _MSPower_DeviceWakeEnable ; #line 182 typedef struct _MSNdis_NetworkAddress ; #line 199 typedef struct _MSNdis_NetworkShortAddress ; #line 216 typedef struct _MSNdis_NetworkLinkSpeed ; #line 239 typedef struct _MSNdis_EnumerateAdapter ; #line 256 typedef struct _MSNdis_NotifyAdapterRemoval ; #line 273 typedef struct _MSNdis_NotifyAdapterArrival ; #line 291 typedef struct _MSNdis_NdisEnumerateVc ; #line 307 typedef struct _MSNdis_NotifyVcRemoval ; #line 323 typedef struct _MSNdis_NotifyVcArrival ; #line 338 typedef struct _MSNdis_HardwareStatus ; #line 356 typedef struct _MSNdis_MediaSupported ; #line 378 typedef struct _MSNdis_MediaInUse ; #line 400 typedef struct _MSNdis_MaximumLookahead ; #line 418 typedef struct _MSNdis_MaximumFrameSize ; #line 436 typedef struct _MSNdis_LinkSpeed ; #line 454 typedef struct _MSNdis_TransmitBufferSpace ; #line 472 typedef struct _MSNdis_ReceiveBufferSpace ; #line 490 typedef struct _MSNdis_TransmitBlockSize ; #line 508 typedef struct _MSNdis_ReceiveBlockSize ; #line 526 typedef struct _MSNdis_VendorID ; #line 544 typedef struct _MSNdis_VendorDescription ; #line 561 typedef struct _MSNdis_CurrentPacketFilter ; #line 579 typedef struct _MSNdis_CurrentLookahead ; #line 597 typedef struct _MSNdis_DriverVersion ; #line 615 typedef struct _MSNdis_MaximumTotalSize ; #line 633 typedef struct _MSNdis_MacOptions ; #line 651 typedef struct _MSNdis_MediaConnectStatus ; #line 669 typedef struct _MSNdis_MaximumSendPackets ; #line 687 typedef struct _MSNdis_VendorDriverVersion ; #line 705 typedef struct _MSNdis_TransmitsOk ; #line 723 typedef struct _MSNdis_ReceivesOk ; #line 741 typedef struct _MSNdis_TransmitsError ; #line 759 typedef struct _MSNdis_ReceiveError ; #line 777 typedef struct _MSNdis_ReceiveNoBuffer ; #line 795 typedef struct _MSNdis_CoHardwareStatus ; #line 813 typedef struct _MSNdis_CoMediaSupported ; #line 835 typedef struct _MSNdis_CoMediaInUse ; #line 857 typedef struct _MSNdis_CoLinkSpeed ; #line 875 typedef struct _MSNdis_CoVendorId ; #line 893 typedef struct _MSNdis_CoVendorDescription ; #line 910 typedef struct _MSNdis_CoDriverVersion ; #line 928 typedef struct _MSNdis_CoMacOptions ; #line 946 typedef struct _MSNdis_CoMediaConnectStatus ; #line 964 typedef struct _MSNdis_CoVendorDriverVersion ; #line 982 typedef struct _MSNdis_CoMinimumLinkSpeed ; #line 1000 typedef struct _MSNdis_CoTransmitPdusOk ; #line 1018 typedef struct _MSNdis_CoReceivePdusOk ; #line 1036 typedef struct _MSNdis_CoTransmitPduErrors ; #line 1054 typedef struct _MSNdis_CoReceivePduErrors ; #line 1072 typedef struct _MSNdis_CoReceivePdusNoBuffer ; #line 1090 typedef struct _MSNdis_AtmSupportedVcRates ; #line 1113 typedef struct _MSNdis_AtmSupportedServiceCategory ; #line 1131 typedef struct _MSNdis_AtmSupportedAalTypes ; #line 1149 typedef struct _MSNdis_AtmHardwareCurrentAddress ; #line 1167 typedef struct _MSNdis_AtmMaxActiveVcs ; #line 1185 typedef struct _MSNdis_AtmMaxActiveVciBits ; #line 1203 typedef struct _MSNdis_AtmMaxActiveVpiBits ; #line 1221 typedef struct _MSNdis_AtmMaxAal0PacketSize ; #line 1239 typedef struct _MSNdis_AtmMaxAal1PacketSize ; #line 1257 typedef struct _MSNdis_AtmMaxAal34PacketSize ; #line 1275 typedef struct _MSNdis_AtmMaxAal5PacketSize ; #line 1293 typedef struct _MSNdis_AtmReceiveCellsOk ; #line 1311 typedef struct _MSNdis_AtmTransmitCellsOk ; #line 1329 typedef struct _MSNdis_AtmReceiveCellsDropped ; #line 1347 typedef struct _MSNdis_EthernetPermanentAddress ; #line 1365 typedef struct _MSNdis_EthernetCurrentAddress ; #line 1383 typedef struct _MSNdis_EthernetMulticastList ; #line 1405 typedef struct _MSNdis_EthernetMaximumMulticastListSize ; #line 1423 typedef struct _MSNdis_EthernetMacOptions ; #line 1441 typedef struct _MSNdis_EthernetReceiveErrorAlignment ; #line 1459 typedef struct _MSNdis_EthernetOneTransmitCollision ; #line 1477 typedef struct _MSNdis_EthernetMoreTransmitCollisions ; #line 1495 typedef struct _MSNdis_TokenRingPermanentAddress ; #line 1513 typedef struct _MSNdis_TokenRingCurrentAddress ; #line 1531 typedef struct _MSNdis_TokenRingCurrentFunctional ; #line 1549 typedef struct _MSNdis_TokenRingCurrentGroup ; #line 1567 typedef struct _MSNdis_TokenRingLastOpenStatus ; #line 1585 typedef struct _MSNdis_TokenRingCurrentRingStatus ; #line 1603 typedef struct _MSNdis_TokenRingCurrentRingState ; #line 1621 typedef struct _MSNdis_TokenRingLineErrors ; #line 1639 typedef struct _MSNdis_TokenRingLostFrames ; #line 1657 typedef struct _MSNdis_FddiLongPermanentAddress ; #line 1675 typedef struct _MSNdis_FddiLongCurrentAddress ; #line 1693 typedef struct _MSNdis_FddiLongMulticastList ; #line 1715 typedef struct _MSNdis_FddiLongMaximumListSize ; #line 1733 typedef struct _MSNdis_FddiShortPermanentAddress ; #line 1751 typedef struct _MSNdis_FddiShortCurrentAddress ; #line 1769 typedef struct _MSNdis_FddiShortMulticastList ; #line 1791 typedef struct _MSNdis_FddiShortMaximumListSize ; #line 1809 typedef struct _MSNdis_FddiAttachmentType ; #line 1827 typedef struct _MSNdis_FddiUpstreamNodeLong ; #line 1845 typedef struct _MSNdis_FddiDownstreamNodeLong ; #line 1863 typedef struct _MSNdis_FddiFrameErrors ; #line 1881 typedef struct _MSNdis_FddiFramesLost ; #line 1899 typedef struct _MSNdis_FddiRingManagmentState ; #line 1917 typedef struct _MSNdis_FddiLctFailures ; #line 1935 typedef struct _MSNdis_FddiLemRejects ; #line 1953 typedef struct _MSNdis_FddiLConnectionState ; #line 1972 typedef struct _MSNdis_StatusResetStart ; #line 1988 typedef struct _MSNdis_StatusResetEnd ; #line 2004 typedef struct _MSNdis_StatusMediaConnect ; #line 2020 typedef struct _MSNdis_StatusMediaDisconnect ; #line 2035 typedef struct _MSNdis_StatusMediaSpecificIndication ; #line 2057 typedef struct _MSNdis_StatusLinkSpeedChange ; #line 2075 typedef struct _MSNdis_StatusProtocolBind ; #line 2092 typedef struct _MSNdis_StatusProtocolUnbind ; #line 2109 typedef struct _KEYBOARD_PORT_WMI_STD_DATA ; #line 2152 typedef struct _POINTER_PORT_WMI_STD_DATA ; #line 2205 typedef struct _MSMouse_ClassInformation ; #line 2223 typedef struct _MSKeyboard_ClassInformation ; #line 2241 typedef struct _MSAcpi_ThermalZoneTemperature ; #line 2304 typedef struct _WMI_DISK_GEOMETRY ; #line 2342 typedef struct _WMI_DISK_PERFORMANCE ; #line 2415 typedef struct _MSDiskDriver_Performance ; #line 2437 typedef struct _STORAGE_FAILURE_PREDICT_STATUS ; #line 2460 typedef struct _STORAGE_FAILURE_PREDICT_DATA ; #line 2483 typedef struct _STORAGE_FAILURE_PREDICT_EVENT ; #line 2513 typedef struct _STORAGE_FAILURE_PREDICT_FUNCTION ; #line 2528 typedef struct _MSIde_PortDeviceInfo ; #line 2556 typedef struct _MSSerial_PortName ; #line 2573 typedef struct _SERIAL_WMI_COMM_DATA ; #line 2723 typedef struct _SERIAL_WMI_HW_DATA ; #line 2770 typedef struct _SERIAL_WMI_PERF_DATA ; #line 2813 typedef struct _SERIAL_WMI_COMMPROP ; #line 2920 typedef struct _PARPORT_WMI_ALLOC_FREE_COUNTS ; #line 2943 typedef struct _PARALLEL_WMI_LOG_INFO ; #line 3041 typedef struct _REDBOOK_WMI_STD_DATA ; #line 3094 typedef struct _REDBOOK_WMI_PERF_DATA ; #line 3137 typedef struct _RegisteredGuids ; #line 96 "parport.h" typedef struct _DEVICE_EXTENSION ; #line 265 typedef struct _SYNCHRONIZED_COUNT_CONTEXT ; #line 270 typedef struct _SYNCHRONIZED_LIST_CONTEXT ; #line 275 typedef struct _SYNCHRONIZED_DISCONNECT_CONTEXT ; #line 280 typedef struct _ISR_LIST_ENTRY ; #line 288 typedef struct _REMOVAL_RELATIONS_LIST_ENTRY ; #line 13 "ioctl.c" void PptCleanRemovalRelationsList(PDEVICE_EXTENSION Extension ) { #line 21 PLIST_ENTRY listHead = & Extension->RemovalRelationsList; PLIST_ENTRY thisListEntry = (void * )0; PREMOVAL_RELATIONS_LIST_ENTRY node = (void * )0; #line 25 ExAcquireFastMutex(& Extension->ExtensionFastMutex); #line 27 while(! (listHead->Flink == listHead)) { #line 28 thisListEntry = listHead->Flink; { { #line 28 PLIST_ENTRY _EX_Blink ; #line 28 PLIST_ENTRY _EX_Flink ; #line 28 _EX_Flink = (listHead->Flink)->Flink; #line 28 _EX_Blink = (listHead->Flink)->Blink; #line 28 _EX_Blink->Flink = _EX_Flink; #line 28 _EX_Flink->Blink = _EX_Blink; } } #line 28 ; node = (REMOVAL_RELATIONS_LIST_ENTRY * )((PCHAR )thisListEntry - (ULONG_PTR )(& ((REMOVAL_RELATIONS_LIST_ENTRY * )0)->ListEntry)); #line 31 do { #line 31 ; } while(0); #line 32 RtlFreeUnicodeString(& node->DeviceName); ExFreePool(node); } #line 36 ExReleaseFastMutex(& Extension->ExtensionFastMutex); #line 38 return; } NTSTATUS PptAddPptRemovalRelation(PDEVICE_EXTENSION Extension , PPARPORT_REMOVAL_RELATIONS PptRemovalRelations ) { PREMOVAL_RELATIONS_LIST_ENTRY node = ExAllocatePoolWithTag(PagedPool, sizeof(REMOVAL_RELATIONS_LIST_ENTRY ), 'PraP'); do { #line 46 ; } while(0); #line 48 if(! node) { #line 49 do { #line 49 ; } while(0); #line 50 return (NTSTATUS )0xC000009AL; } #line 54 node->DeviceObject = PptRemovalRelations->DeviceObject; node->Flags = PptRemovalRelations->Flags; memset(& node->DeviceName, 0, sizeof(UNICODE_STRING )); (node->DeviceName).Buffer = ExAllocatePoolWithTag(PagedPool, (PptRemovalRelations->DeviceName)->MaximumLength, 'PraP'); #line 58 if(! (node->DeviceName).Buffer) { #line 59 do { #line 59 ; } while(0); #line 60 ExFreePool(node); return (NTSTATUS )0xC000009AL; } (node->DeviceName).MaximumLength = (PptRemovalRelations->DeviceName)->MaximumLength; #line 64 RtlCopyUnicodeString(& node->DeviceName, PptRemovalRelations->DeviceName); #line 67 ExAcquireFastMutex(& Extension->ExtensionFastMutex); { #line 68 PLIST_ENTRY _EX_Blink ; #line 68 PLIST_ENTRY _EX_ListHead ; #line 68 _EX_ListHead = & Extension->RemovalRelationsList; #line 68 _EX_Blink = _EX_ListHead->Blink; #line 68 (& node->ListEntry)->Flink = _EX_ListHead; #line 68 (& node->ListEntry)->Blink = _EX_Blink; #line 68 _EX_Blink->Flink = & node->ListEntry; #line 68 _EX_ListHead->Blink = & node->ListEntry; } #line 68 ; ExReleaseFastMutex(& Extension->ExtensionFastMutex); return (NTSTATUS )0x00000000L; } NTSTATUS PptRemovePptRemovalRelation(PDEVICE_EXTENSION Extension , PPARPORT_REMOVAL_RELATIONS PptRemovalRelations ) { #line 85 PDEVICE_OBJECT callerDevObj = PptRemovalRelations->DeviceObject; PLIST_ENTRY listHead = & Extension->RemovalRelationsList; PDEVICE_OBJECT listDevObj = (void * )0; PLIST_ENTRY thisListEntry = (void * )0; PLIST_ENTRY firstListEntry = (void * )0; BOOLEAN found = 0; BOOLEAN done = 0; PREMOVAL_RELATIONS_LIST_ENTRY node = (void * )0; #line 95 do { #line 95 ; } while(0); //BLAST //return (NTSTATUS )0x00000000L; #line 97 ExAcquireFastMutex(& Extension->ExtensionFastMutex); if(listHead->Flink == listHead) { #line 99 do { #line 99 ; } while(0); #line 100 ExReleaseFastMutex(& Extension->ExtensionFastMutex); return (NTSTATUS )0x00000000L; } else { #line 103 do { #line 103 ; } while(0); #line 104 ExReleaseFastMutex(& Extension->ExtensionFastMutex); } #line 107 ExAcquireFastMutex(& Extension->ExtensionFastMutex); while(! done ) { thisListEntry = listHead->Flink; { { #line 110 PLIST_ENTRY _EX_Blink ; #line 110 PLIST_ENTRY _EX_Flink ; #line 110 _EX_Flink = (listHead->Flink)->Flink; #line 110 _EX_Blink = (listHead->Flink)->Blink; #line 110 _EX_Blink->Flink = _EX_Flink; #line 110 _EX_Flink->Blink = _EX_Blink; } } #line 110 ; node = (REMOVAL_RELATIONS_LIST_ENTRY * )((PCHAR )thisListEntry - (ULONG_PTR )(& ((REMOVAL_RELATIONS_LIST_ENTRY * )0)->ListEntry)); #line 113 if(node->DeviceObject == callerDevObj) { #line 116 do { #line 116 ; } while(0); #line 117 found = 1; done = 1; } else { #line 119 if(firstListEntry == thisListEntry) { do { #line 121 ; } while(0); #line 122 done = 1; } else { #line 123 if(! firstListEntry) { do { #line 125 ; } while(0); #line 126 firstListEntry = thisListEntry; } } } #line 129 if(! found) { { PLIST_ENTRY _EX_Blink ; #line 132 PLIST_ENTRY _EX_ListHead ; #line 132 _EX_ListHead = listHead; #line 132 _EX_Blink = _EX_ListHead->Blink; #line 132 (& node->ListEntry)->Flink = _EX_ListHead; #line 132 (& node->ListEntry)->Blink = _EX_Blink; #line 132 _EX_Blink->Flink = & node->ListEntry; #line 132 _EX_ListHead->Blink = & node->ListEntry; } #line 132 ; } } ExReleaseFastMutex(& Extension->ExtensionFastMutex); #line 137 if(found) { #line 140 RtlFreeUnicodeString(& node->DeviceName); ExFreePool(node); } #line 144 do { #line 144 ; } while(0); #line 145 return (NTSTATUS )0x00000000L; } void PptDumpRemovalRelationsList(PDEVICE_EXTENSION Extension ) { #line 151 PLIST_ENTRY listHead = & Extension->RemovalRelationsList; PLIST_ENTRY thisListEntry = (void * )0; PLIST_ENTRY firstListEntry = (void * )0; BOOLEAN done = 0; PREMOVAL_RELATIONS_LIST_ENTRY node = (void * )0; #line 157 do { #line 157 ; } while(0); ExAcquireFastMutex(& Extension->ExtensionFastMutex); if(listHead->Flink == listHead) { #line 162 do { #line 162 ; } while(0); #line 163 ExReleaseFastMutex(& Extension->ExtensionFastMutex); return; } else { #line 166 do { #line 166 ; } while(0); } #line 169 while(! done) { thisListEntry = listHead->Flink; { { #line 171 PLIST_ENTRY _EX_Blink ; #line 171 PLIST_ENTRY _EX_Flink ; #line 171 _EX_Flink = (listHead->Flink)->Flink; #line 171 _EX_Blink = (listHead->Flink)->Blink; #line 171 _EX_Blink->Flink = _EX_Flink; #line 171 _EX_Flink->Blink = _EX_Blink; } } #line 171 ; node = (REMOVAL_RELATIONS_LIST_ENTRY * )((PCHAR )thisListEntry - (ULONG_PTR )(& ((REMOVAL_RELATIONS_LIST_ENTRY * )0)->ListEntry)); #line 174 if(firstListEntry == thisListEntry) { { #line 176 PLIST_ENTRY _EX_Flink ; #line 176 PLIST_ENTRY _EX_ListHead ; #line 176 _EX_ListHead = listHead; #line 176 _EX_Flink = _EX_ListHead->Flink; #line 176 (& node->ListEntry)->Flink = _EX_Flink; #line 176 (& node->ListEntry)->Blink = _EX_ListHead; #line 176 _EX_Flink->Blink = & node->ListEntry; #line 176 _EX_ListHead->Flink = & node->ListEntry; } #line 176 ; done = 1; do { #line 178 ; } while(0); } else { #line 181 do { #line 181 ; } while(0); { #line 182 PLIST_ENTRY _EX_Blink ; #line 182 PLIST_ENTRY _EX_ListHead ; #line 182 _EX_ListHead = listHead; #line 182 _EX_Blink = _EX_ListHead->Blink; #line 182 (& node->ListEntry)->Flink = _EX_ListHead; #line 182 (& node->ListEntry)->Blink = _EX_Blink; #line 182 _EX_Blink->Flink = & node->ListEntry; #line 182 _EX_ListHead->Blink = & node->ListEntry; } #line 182 ; } #line 185 if(! firstListEntry) { firstListEntry = thisListEntry; } } ExReleaseFastMutex(& Extension->ExtensionFastMutex); return; } void PptDumpPptRemovalRelationsStruct(PPARPORT_REMOVAL_RELATIONS PptRemovalRelations ) { #line 203 PptRemovalRelations; #line 205 return; } NTSTATUS PptDispatchInternalDeviceControl(PDEVICE_OBJECT DeviceObject , PIRP Irp ) { #line 239 PIO_STACK_LOCATION IrpSp ; PDEVICE_EXTENSION Extension = DeviceObject->DeviceExtension; NTSTATUS Status ; PPARALLEL_PORT_INFORMATION PortInfo ; PPARALLEL_PNP_INFORMATION PnpInfo ; PMORE_PARALLEL_PORT_INFORMATION MorePortInfo ; KIRQL CancelIrql ; SYNCHRONIZED_COUNT_CONTEXT SyncContext ; PPARALLEL_INTERRUPT_SERVICE_ROUTINE IsrInfo ; PPARALLEL_INTERRUPT_INFORMATION InterruptInfo ; PISR_LIST_ENTRY IsrListEntry ; SYNCHRONIZED_LIST_CONTEXT ListContext ; SYNCHRONIZED_DISCONNECT_CONTEXT DisconnectContext ; BOOLEAN DisconnectInterrupt ; #line 255 do { #line 255 ; } while(0); #line 256 if(Irp->UserEvent) { { #line 257 ; } #line 257 ; } #line 270 if(Extension->DeviceStateFlags & (ULONG )0x00001000) { #line 271 do { #line 271 ; } while(0); #line 272 return PptFailRequest(Irp, (NTSTATUS )0xC0000056L); } #line 280 Status = PptAcquireRemoveLockOrFailIrp(DeviceObject, Irp); if(! ((NTSTATUS )Status >= 0)) { #line 282 do { #line 282 ; } while(0); #line 283 return Status; } #line 286 IrpSp = ((Irp->Tail).Overlay).CurrentStackLocation; #line 288 (Irp->IoStatus).Information = 0; #line 291 switch(((IrpSp->Parameters).DeviceIoControl).IoControlCode) { case 0x00000016 << 16 | 0 << 14 | 50 << 2 | 0: #line 293 ; #line 295 do { #line 295 ; } while(0); #line 297 if(((IrpSp->Parameters).DeviceIoControl).InputBufferLength < sizeof(PARPORT_REMOVAL_RELATIONS )) { #line 298 do { #line 298 ; } while(0); #line 299 Status = (NTSTATUS )0xC0000023L; } else { #line 301 PPARPORT_REMOVAL_RELATIONS removalRelations = (Irp->AssociatedIrp).SystemBuffer; #line 302 PptDumpPptRemovalRelationsStruct(removalRelations); PptDumpRemovalRelationsList(Extension); PptAddPptRemovalRelation(Extension, removalRelations); PptDumpRemovalRelationsList(Extension); do { #line 306 ; } while(0); #line 307 Status = (NTSTATUS )0x00000000L; } #line 310 (Irp->IoStatus).Status = Status; myStatus = Status; PptReleaseRemoveLock(& Extension->RemoveLock, Irp); PptCompleteRequest(Irp, 0); return Status; #line 316 case 0x00000016 << 16 | 0 << 14 | 51 << 2 | 0: #line 316 ; #line 318 do { #line 318 ; } while(0); #line 320 if(((IrpSp->Parameters).DeviceIoControl).InputBufferLength < sizeof(PARPORT_REMOVAL_RELATIONS )) { #line 321 do { #line 321 ; } while(0); #line 322 Status = (NTSTATUS )0xC0000023L; } else { #line 324 PPARPORT_REMOVAL_RELATIONS removalRelations = (Irp->AssociatedIrp).SystemBuffer; #line 325 PptDumpPptRemovalRelationsStruct((Irp->AssociatedIrp).SystemBuffer ); #line 326 PptDumpRemovalRelationsList(Extension); PptRemovePptRemovalRelation(Extension, removalRelations); #line 328 PptDumpRemovalRelationsList(Extension); do { #line 329 ; } while(0); #line 330 Status = (NTSTATUS )0x00000000L; } #line 333 (Irp->IoStatus).Status = Status; myStatus = Status; PptReleaseRemoveLock(& Extension->RemoveLock, Irp); PptCompleteRequest(Irp, 0); return Status; #line 339 case 0x00000016 << 16 | 0 << 14 | 40 << 2 | 0: #line 339 ; #line 341 PptFreePort(Extension); #line 343 (Irp->IoStatus).Status = (NTSTATUS )0x00000000L; myStatus = (NTSTATUS )0x00000000L; PptReleaseRemoveLock(& Extension->RemoveLock, Irp); PptCompleteRequest(Irp, 0); return (NTSTATUS )0x00000000L; #line 349 case 0x00000016 << 16 | 0 << 14 | 11 << 2 | 0: #line 349 ; #line 351 IoAcquireCancelSpinLock(& CancelIrql); #line 353 if(Irp->Cancel) { Status = (NTSTATUS )0xC0000120L; } else { SyncContext.Count = & Extension->WorkQueueCount; #line 361 if(Extension->InterruptRefCount) { KeSynchronizeExecution(Extension->InterruptObject , PptSynchronizedIncrement, & SyncContext); } else { #line 368 PptSynchronizedIncrement(& SyncContext); } #line 371 if(SyncContext.NewCount) { #line 374 PptSetCancelRoutine(Irp, PptCancelRoutine); if(pended == 0) #line 375 pended = 1; else #line 375 errorFn(); (((Irp->Tail).Overlay).CurrentStackLocation)->Control |= 0x01; { #line 378 PLIST_ENTRY _EX_Blink ; #line 378 PLIST_ENTRY _EX_ListHead ; #line 378 _EX_ListHead = & Extension->WorkQueue; #line 378 _EX_Blink = _EX_ListHead->Blink; #line 378 (& ((Irp->Tail).Overlay).ListEntry)->Flink = _EX_ListHead; #line 378 (& ((Irp->Tail).Overlay).ListEntry)->Blink = _EX_Blink; #line 378 _EX_Blink->Flink = & ((Irp->Tail).Overlay).ListEntry; #line 378 _EX_ListHead->Blink = & ((Irp->Tail).Overlay).ListEntry; } #line 378 ; Status = (NTSTATUS )0x00000103L; } else { (Extension->WmiPortAllocFreeCounts).PortAllocates ++; #line 384 Status = (NTSTATUS )0x00000000L; } } #line 388 IoReleaseCancelSpinLock(CancelIrql); #line 404 break; #line 406 case 0x00000016 << 16 | 0 << 14 | 12 << 2 | 0: #line 406 ; #line 408 do { #line 408 ; } while(0); #line 410 if(((IrpSp->Parameters).DeviceIoControl).OutputBufferLength < sizeof(PARALLEL_PORT_INFORMATION )) { Status = (NTSTATUS )0xC0000023L; } else { (Irp->IoStatus).Information = sizeof(PARALLEL_PORT_INFORMATION ); #line 418 PortInfo = (Irp->AssociatedIrp).SystemBuffer; * PortInfo = Extension->PortInfo; Status = (NTSTATUS )0x00000000L; } break; #line 424 case 0x00000016 << 16 | 0 << 14 | 15 << 2 | 0: #line 424 ; #line 426 do { #line 426 ; } while(0); #line 427 Status = (NTSTATUS )0x00000000L; break; #line 430 case 0x00000016 << 16 | 0 << 14 | 21 << 2 | 0: #line 430 ; #line 432 do { #line 432 ; } while(0); #line 434 if(((IrpSp->Parameters).DeviceIoControl).OutputBufferLength < sizeof(PARALLEL_PNP_INFORMATION )) { Status = (NTSTATUS )0xC0000023L; } else { (Irp->IoStatus).Information = sizeof(PARALLEL_PNP_INFORMATION ); #line 442 PnpInfo = (Irp->AssociatedIrp).SystemBuffer; * PnpInfo = Extension->PnpInfo; #line 445 Status = (NTSTATUS )0x00000000L; } break; #line 449 case 0x00000016 << 16 | 0 << 14 | 17 << 2 | 0: #line 449 ; #line 451 do { #line 451 ; } while(0); #line 453 if(((IrpSp->Parameters).DeviceIoControl).OutputBufferLength < sizeof(MORE_PARALLEL_PORT_INFORMATION )) { Status = (NTSTATUS )0xC0000023L; } else { (Irp->IoStatus).Information = sizeof(MORE_PARALLEL_PORT_INFORMATION ); #line 461 MorePortInfo = (Irp->AssociatedIrp).SystemBuffer; MorePortInfo->InterfaceType = Extension->InterfaceType; MorePortInfo->BusNumber = Extension->BusNumber; MorePortInfo->InterruptLevel = Extension->InterruptLevel; #line 465 MorePortInfo->InterruptVector = Extension->InterruptVector; #line 466 MorePortInfo->InterruptAffinity = Extension->InterruptAffinity; #line 467 MorePortInfo->InterruptMode = Extension->InterruptMode; Status = (NTSTATUS )0x00000000L; } break; #line 472 case 0x00000016 << 16 | 0 << 14 | 13 << 2 | 0: #line 472 ; #line 474 do { #line 474 ; } while(0); { #line 481 ULONG EnableConnectInterruptIoctl = 0; /* PptRegGetDeviceParameterDword(Extension->PhysicalDeviceObject , (PWSTR )"E\0n\0a\0b\0l\0e\0C\0o\0n\0n\0e\0c\0t\0I\0n\0t\0e\0r\0r\0u\0p\0t\0I\0o\0c\0t\0l\0", & EnableConnectInterruptIoctl); */ do { #line 486 ; } while(0); #line 487 if(0 == EnableConnectInterruptIoctl) { #line 488 do { #line 488 ; } while(0); #line 489 Status = (NTSTATUS )0xC0000001L; goto targetExit; } else { #line 492 do { #line 492 ; } while(0); } } #line 501 if(((IrpSp->Parameters).DeviceIoControl).InputBufferLength < sizeof(PARALLEL_INTERRUPT_SERVICE_ROUTINE ) || ((IrpSp->Parameters).DeviceIoControl).OutputBufferLength < sizeof(PARALLEL_INTERRUPT_INFORMATION )) { Status = (NTSTATUS )0xC0000023L; } else { IsrInfo = (Irp->AssociatedIrp).SystemBuffer; InterruptInfo = (Irp->AssociatedIrp).SystemBuffer; IoAcquireCancelSpinLock(& CancelIrql); #line 514 if(Extension->InterruptRefCount) { ++ Extension->InterruptRefCount; IoReleaseCancelSpinLock(CancelIrql); Status = (NTSTATUS )0x00000000L; } else { IoReleaseCancelSpinLock(CancelIrql); Status = PptConnectInterrupt(Extension); if((NTSTATUS )Status >= 0) { #line 525 IoAcquireCancelSpinLock(& CancelIrql); ++ Extension->InterruptRefCount; IoReleaseCancelSpinLock(CancelIrql); } } #line 531 if((NTSTATUS )Status >= 0) { IsrListEntry = ExAllocatePoolWithTag(NonPagedPool, sizeof(ISR_LIST_ENTRY ), 'PraP'); if(IsrListEntry) { IsrListEntry->ServiceRoutine = IsrInfo->InterruptServiceRoutine; IsrListEntry->ServiceContext = IsrInfo->InterruptServiceContext; IsrListEntry->DeferredPortCheckRoutine = IsrInfo->DeferredPortCheckRoutine ; #line 544 IsrListEntry->CheckContext = IsrInfo->DeferredPortCheckContext; #line 549 ListContext.List = & Extension->IsrList; ListContext.NewEntry = & IsrListEntry->ListEntry; #line 551 KeSynchronizeExecution(Extension->InterruptObject , PptSynchronizedQueue, & ListContext); #line 555 InterruptInfo->InterruptObject = Extension->InterruptObject; InterruptInfo->TryAllocatePortAtInterruptLevel = PptTryAllocatePortAtInterruptLevel; #line 559 InterruptInfo->FreePortFromInterruptLevel = PptFreePortFromInterruptLevel; InterruptInfo->Context = Extension; #line 564 (Irp->IoStatus).Information = sizeof(PARALLEL_INTERRUPT_INFORMATION ); #line 566 Status = (NTSTATUS )0x00000000L; } else { Status = (NTSTATUS )0xC000009AL; } } } break; #line 576 case 0x00000016 << 16 | 0 << 14 | 14 << 2 | 0: #line 576 ; #line 578 do { #line 578 ; } while(0); #line 580 if(((IrpSp->Parameters).DeviceIoControl).InputBufferLength < sizeof(PARALLEL_INTERRUPT_SERVICE_ROUTINE )) { Status = (NTSTATUS )0xC0000023L; } else { IsrInfo = (Irp->AssociatedIrp).SystemBuffer; #line 591 IoAcquireCancelSpinLock(& CancelIrql); #line 593 if(Extension->InterruptRefCount) { IoReleaseCancelSpinLock(CancelIrql); #line 597 DisconnectContext.Extension = Extension; DisconnectContext.IsrInfo = IsrInfo; #line 600 if(KeSynchronizeExecution(Extension->InterruptObject , PptSynchronizedDisconnect, & DisconnectContext)) { Status = (NTSTATUS )0x00000000L; IoAcquireCancelSpinLock(& CancelIrql); #line 607 if(-- Extension->InterruptRefCount == 0) { #line 608 DisconnectInterrupt = 1; } else { #line 610 DisconnectInterrupt = 0; } #line 613 IoReleaseCancelSpinLock(CancelIrql); } else { #line 616 Status = (NTSTATUS )0xC000000DL; DisconnectInterrupt = 0; } } else { #line 621 IoReleaseCancelSpinLock(CancelIrql); DisconnectInterrupt = 0; Status = (NTSTATUS )0xC000000DL; } #line 629 if(DisconnectInterrupt) { #line 630 PptDisconnectInterrupt(Extension); } } break; #line 636 case 0x00000016 << 16 | 0 << 14 | 19 << 2 | 0: #line 636 ; #line 638 do { #line 638 ; } while(0); #line 644 if(((IrpSp->Parameters).DeviceIoControl).InputBufferLength < sizeof(PARALLEL_CHIP_MODE )) { Status = (NTSTATUS )0xC0000023L; } else { #line 650 do { #line 650 ; } while(0); #line 651 Status = PptSetChipMode(Extension, ((PPARALLEL_CHIP_MODE )(Irp->AssociatedIrp).SystemBuffer)->ModeFlags); } #line 655 break; #line 657 case 0x00000016 << 16 | 0 << 14 | 20 << 2 | 0: #line 657 ; #line 659 do { #line 659 ; } while(0); #line 665 if(((IrpSp->Parameters).DeviceIoControl).InputBufferLength < sizeof(PARALLEL_CHIP_MODE )) { Status = (NTSTATUS )0xC0000023L; } else { #line 671 do { #line 671 ; } while(0); #line 672 Status = PptClearChipMode(Extension, ((PPARALLEL_CHIP_MODE )(Irp->AssociatedIrp).SystemBuffer)->ModeFlags); } break; #line 678 case 0x00000016 << 16 | 0 << 14 | 22 << 2 | 0: #line 678 ; #line 680 do { #line 680 ; } while(0); #line 688 (Extension->PnpInfo).Ieee1284_3DeviceCount = PptInitiate1284_3(Extension); Status = (NTSTATUS )0x00000000L; #line 692 break; #line 695 case 0x00000016 << 16 | 0 << 14 | 23 << 2 | 0: #line 695 ; #line 697 do { #line 697 ; } while(0); if(((IrpSp->Parameters).DeviceIoControl).InputBufferLength < sizeof(PARALLEL_1284_COMMAND )) { #line 704 do { #line 704 ; } while(0); #line 705 Status = (NTSTATUS )0xC0000023L; } else { #line 710 if(Irp->Cancel) { #line 711 Status = (NTSTATUS )0xC0000120L; } else { #line 714 Status = PptTrySelectDevice(Extension, (Irp->AssociatedIrp).SystemBuffer); IoAcquireCancelSpinLock(& CancelIrql); if(Status == (NTSTATUS )0x00000103L) { #line 718 PptSetCancelRoutine(Irp, PptCancelRoutine); #line 719 if(pended == 0) #line 719 pended = 1; else #line 719 errorFn(); (((Irp->Tail).Overlay).CurrentStackLocation )->Control |= 0x01; { #line 722 PLIST_ENTRY _EX_Blink ; #line 722 PLIST_ENTRY _EX_ListHead ; #line 722 _EX_ListHead = & Extension->WorkQueue; #line 722 _EX_Blink = _EX_ListHead->Blink; #line 722 (& ((Irp->Tail).Overlay).ListEntry) ->Flink = _EX_ListHead; #line 722 (& ((Irp->Tail).Overlay).ListEntry) ->Blink = _EX_Blink; #line 722 _EX_Blink->Flink = & ((Irp->Tail).Overlay).ListEntry ; #line 722 _EX_ListHead->Blink = & ((Irp->Tail).Overlay).ListEntry ; } #line 722 ; do { #line 723 ; } while(0); } #line 725 IoReleaseCancelSpinLock(CancelIrql); } } #line 730 break; #line 733 case 0x00000016 << 16 | 0 << 14 | 24 << 2 | 0: #line 733 ; #line 735 do { #line 735 ; } while(0); if(((IrpSp->Parameters).DeviceIoControl).InputBufferLength < sizeof(PARALLEL_1284_COMMAND )) { #line 742 do { #line 742 ; } while(0); #line 743 Status = (NTSTATUS )0xC0000023L; } else { #line 748 Status = PptDeselectDevice(Extension, (Irp->AssociatedIrp).SystemBuffer); } break; #line 755 default : #line 755 ; #line 757 do { #line 757 ; } while(0); #line 758 Status = (NTSTATUS )0xC000000DL; break; } #line 762 targetExit: { if(Status != (NTSTATUS )0x00000103L) { #line 765 (Irp->IoStatus).Status = Status; myStatus = Status; PptReleaseRemoveLock(& Extension->RemoveLock, Irp); PptCompleteRequest(Irp, 0); } } return Status; } #line 16 "C:/Program Files/Microsoft Visual Studio/VC98/include/excpt.h" #pragma once #line 32 #pragma pack(push, 8) #line 72 typedef enum _EXCEPTION_DISPOSITION ; #line 89 struct _EXCEPTION_RECORD ; #line 90 struct _CONTEXT ; #line 155 #pragma pack(pop) #line 25 "C:/NTDDK/inc/ntdef.h" #pragma once #line 15 "C:/Program Files/Microsoft Visual Studio/VC98/include/ctype.h" #pragma once #line 60 typedef unsigned short ; #line 66 typedef wchar_t ; #line 67 typedef wchar_t ; #line 127 "C:/NTDDK/inc/ntdef.h" typedef unsigned long ; #line 25 "C:/NTDDK/inc/basetsd.h" #pragma once #line 36 typedef int ; #line 37 typedef int ; #line 43 typedef unsigned int ; #line 44 typedef unsigned int ; #line 45 typedef unsigned int ; #line 84 typedef int ; #line 85 typedef unsigned int ; typedef long ; #line 88 typedef unsigned long ; #line 248 typedef unsigned short ; #line 249 typedef short ; #line 250 typedef unsigned long ; #line 288 typedef ULONG_PTR ; #line 289 typedef LONG_PTR ; #line 295 typedef ULONG_PTR ; #line 301 typedef __int64 ; #line 302 typedef __int64 ; #line 309 typedef unsigned __int64 ; #line 310 typedef unsigned __int64 ; #line 311 typedef unsigned __int64 ; #line 217 "C:/NTDDK/inc/ntdef.h" typedef void ; #line 218 typedef void ; #line 266 typedef char ; #line 267 typedef short ; #line 268 typedef long ; #line 276 typedef wchar_t ; #line 282 typedef WCHAR ; #line 283 typedef WCHAR ; #line 284 typedef const WCHAR ; #line 285 typedef WCHAR ; #line 286 typedef WCHAR ; typedef const WCHAR ; #line 293 typedef CHAR ; #line 294 typedef CHAR ; typedef const CHAR ; #line 297 typedef CHAR ; #line 298 typedef CHAR ; #line 299 typedef const CHAR ; #line 321 typedef char ; #line 322 typedef unsigned char ; #line 326 typedef LPSTR ; #line 327 typedef LPSTR ; #line 328 typedef LPCSTR ; #line 337 typedef double ; typedef struct _QUAD ; #line 349 typedef SHORT ; #line 350 typedef LONG ; #line 351 typedef QUAD ; #line 360 typedef unsigned char ; #line 361 typedef unsigned short ; #line 362 typedef unsigned long ; #line 363 typedef QUAD ; #line 369 typedef UCHAR ; #line 370 typedef USHORT ; #line 371 typedef ULONG ; #line 372 typedef UQUAD ; #line 378 typedef signed char ; #line 379 typedef SCHAR ; #line 394 typedef void ; #line 400 typedef HANDLE ; #line 406 typedef UCHAR ; #line 407 typedef USHORT ; #line 408 typedef ULONG ; #line 414 typedef LONG ; #line 478 typedef char ; #line 479 typedef short ; #line 480 typedef ULONG ; typedef CCHAR ; #line 483 typedef CSHORT ; #line 484 typedef CLONG ; #line 492 typedef ULONG ; #line 493 typedef PULONG ; #line 494 typedef USHORT ; #line 500 typedef ULONG ; #line 501 typedef ULONG ; #line 508 typedef LONG ; typedef NTSTATUS ; #line 602 typedef struct _FLOAT128 ; #line 607 typedef FLOAT128 ; #line 621 typedef __int64 ; #line 622 typedef unsigned __int64 ; #line 639 typedef LONGLONG ; #line 640 typedef ULONGLONG ; #line 644 typedef LONGLONG ; #line 649 typedef union _LARGE_INTEGER ; #line 662 typedef LARGE_INTEGER ; #line 668 typedef union _ULARGE_INTEGER ; #line 681 typedef ULARGE_INTEGER ; #line 690 typedef struct _LUID ; #line 696 typedef ULONGLONG ; #line 697 typedef DWORDLONG ; #line 707 typedef LARGE_INTEGER ; #line 831 #pragma warning(push) #pragma warning(disable:4035) __inline ULONGLONG __stdcall Int64ShllMod32___5(ULONGLONG Value , ULONG ShiftCount ) { #line 842 __asm { mov ecx, ShiftCount mov eax, dword ptr [Value] mov edx, dword ptr [Value+4] shld edx, eax, cl shl eax, cl }; } #line 845 __inline LONGLONG __stdcall Int64ShraMod32___5(LONGLONG Value , ULONG ShiftCount ) { #line 852 __asm { mov ecx, ShiftCount mov eax, dword ptr [Value] mov edx, dword ptr [Value+4] shrd eax, edx, cl sar edx, cl }; } #line 855 __inline ULONGLONG __stdcall Int64ShrlMod32___5(ULONGLONG Value , ULONG ShiftCount ) { #line 862 __asm { mov ecx, ShiftCount mov eax, dword ptr [Value] mov edx, dword ptr [Value+4] shrd eax, edx, cl shr edx, cl }; } #pragma warning(pop) #line 956 typedef enum _EVENT_TYPE ; #line 965 typedef enum _TIMER_TYPE ; #line 974 typedef enum _WAIT_TYPE ; #line 983 typedef CHAR ; #line 984 typedef const char ; #line 991 typedef struct _STRING ; #line 999 typedef STRING ; typedef STRING ; #line 1002 typedef PSTRING ; typedef STRING ; #line 1005 typedef PSTRING ; #line 1011 typedef struct _CSTRING ; #line 1016 typedef CSTRING ; #line 1019 typedef STRING ; #line 1020 typedef PSTRING ; #line 1027 typedef struct _UNICODE_STRING ; #line 1036 typedef UNICODE_STRING ; #line 1037 typedef const UNICODE_STRING ; #line 1046 typedef UCHAR ; #line 1047 typedef BOOLEAN ; #line 1057 typedef struct _LIST_ENTRY ; #line 1067 typedef struct _SINGLE_LIST_ENTRY ; #line 1078 typedef struct LIST_ENTRY32 ; #line 1082 typedef LIST_ENTRY32 ; typedef struct LIST_ENTRY64 ; #line 1088 typedef LIST_ENTRY64 ; #line 1127 typedef struct _STRING32 ; #line 1132 typedef STRING32 ; typedef STRING32 ; #line 1135 typedef UNICODE_STRING32 ; typedef STRING32 ; #line 1138 typedef ANSI_STRING32 ; #line 1141 typedef struct _STRING64 ; #line 1146 typedef STRING64 ; typedef STRING64 ; #line 1149 typedef UNICODE_STRING64 ; typedef STRING64 ; #line 1152 typedef ANSI_STRING64 ; #line 1173 typedef struct _OBJECT_ATTRIBUTES ; #line 1181 typedef OBJECT_ATTRIBUTES ; #line 17 "C:/NTDDK/inc/guiddef.h" typedef struct _GUID ; #line 70 typedef GUID ; #line 75 typedef const GUID ; #line 81 typedef GUID ; #line 82 typedef IID ; #line 85 typedef GUID ; #line 86 typedef CLSID ; #line 89 typedef GUID ; #line 90 typedef FMTID ; #line 16 "C:/NTDDK/inc/string.h" #pragma once #line 54 typedef unsigned int ; #line 1233 "C:/NTDDK/inc/ntdef.h" typedef struct _OBJECTID ; #line 1288 struct _CONTEXT ; #line 1289 struct _EXCEPTION_RECORD ; typedef EXCEPTION_DISPOSITION ; #line 1306 typedef UCHAR ; typedef KIRQL ; #line 1316 typedef enum _NT_PRODUCT_TYPE ; #line 1329 typedef enum _SUITE_TYPE ; #line 75 "C:/NTDDK/inc/ddk/ntddk.h" typedef struct _KTHREAD ; #line 76 typedef struct _ETHREAD ; #line 77 typedef struct _EPROCESS ; #line 78 typedef struct _PEB ; #line 79 typedef struct _KINTERRUPT ; #line 80 typedef struct _IO_TIMER ; #line 81 typedef struct _OBJECT_TYPE ; #line 82 typedef struct _CALLBACK_OBJECT ; #line 83 typedef struct _DEVICE_HANDLER_OBJECT ; #line 84 typedef struct _BUS_HANDLER ; #line 143 typedef union _SLIST_HEADER ; #line 204 typedef CCHAR ; typedef enum _MODE ; #line 222 struct _KAPC ; typedef void ; #line 232 typedef void ; #line 242 typedef void ; #line 248 typedef BOOLEAN ; #line 254 typedef BOOLEAN ; #line 265 typedef struct _KAPC ; #line 292 struct _KDPC ; typedef void ; #line 351 typedef enum _KDPC_IMPORTANCE ; #line 361 typedef struct _KDPC ; #line 377 typedef PVOID ; typedef void ; #line 392 typedef struct _KIPI_COUNTS ; #line 443 typedef struct _MDL ; #line 532 typedef PVOID ; #line 538 typedef PVOID ; #line 544 typedef PVOID ; typedef ULONG ; #line 547 typedef ACCESS_MASK ; #line 597 typedef struct _GENERIC_MAPPING ; #line 603 typedef GENERIC_MAPPING ; #line 24 "C:/NTDDK/inc/pshpack4.h" #pragma warning(disable:4103) #pragma pack(push, 4) #line 618 "C:/NTDDK/inc/ddk/ntddk.h" typedef struct _LUID_AND_ATTRIBUTES ; #line 622 typedef LUID_AND_ATTRIBUTES ; #line 623 typedef LUID_AND_ATTRIBUTES_ARRAY ; #line 27 "C:/NTDDK/inc/poppack.h" #pragma warning(disable:4103) #pragma pack(pop) #line 642 "C:/NTDDK/inc/ddk/ntddk.h" typedef struct _ACL ; #line 649 typedef ACL ; #line 681 typedef struct _PRIVILEGE_SET ; #line 735 typedef enum _SECURITY_IMPERSONATION_LEVEL ; #line 753 typedef BOOLEAN ; #line 762 typedef struct _SECURITY_QUALITY_OF_SERVICE ; #line 774 typedef struct _SE_IMPERSONATION_STATE ; #line 782 typedef ULONG ; #line 809 typedef ULONG ; #line 810 typedef KAFFINITY ; #line 816 typedef LONG ; #line 824 typedef ULONG_PTR ; #line 825 typedef KSPIN_LOCK ; #line 833 typedef void ; #line 842 typedef enum _KPROFILE_SOURCE ; #line 1079 typedef NTSTATUS ; #line 1088 typedef struct _RTL_QUERY_REGISTRY_TABLE ; #line 1952 #pragma warning(push) #pragma warning(disable:4035) #line 2019 #pragma warning(pop) #line 2214 typedef struct _TIME_FIELDS ; #line 2224 typedef TIME_FIELDS ; #line 2499 typedef struct _RTL_BITMAP ; #line 2503 typedef RTL_BITMAP ; #line 2627 typedef struct _RTL_BITMAP_RUN ; #line 2633 typedef RTL_BITMAP_RUN ; #line 2886 typedef struct _RTL_RANGE ; #line 2924 typedef struct _RTL_RANGE_LIST ; #line 2950 typedef struct _RANGE_LIST_ITERATOR ; #line 3019 typedef BOOLEAN ; #line 3155 typedef struct _OSVERSIONINFOA ; #line 3164 typedef struct _OSVERSIONINFOW ; #line 3177 typedef OSVERSIONINFOA ; #line 3178 typedef POSVERSIONINFOA ; #line 3179 typedef LPOSVERSIONINFOA ; #line 3182 typedef struct _OSVERSIONINFOEXA ; #line 3195 typedef struct _OSVERSIONINFOEXW ; #line 3213 typedef OSVERSIONINFOEXA ; #line 3214 typedef POSVERSIONINFOEXA ; #line 3215 typedef LPOSVERSIONINFOEXA ; #line 3648 typedef struct _IO_STATUS_BLOCK ; #line 3669 typedef void ; #line 3685 typedef enum _FILE_INFORMATION_CLASS ; #line 3731 typedef struct _FILE_BASIC_INFORMATION ; #line 3739 typedef struct _FILE_STANDARD_INFORMATION ; #line 3747 typedef struct _FILE_POSITION_INFORMATION ; #line 3751 typedef struct _FILE_ALIGNMENT_INFORMATION ; #line 3755 typedef struct _FILE_NAME_INFORMATION ; #line 3760 typedef struct _FILE_NETWORK_OPEN_INFORMATION ; #line 3770 typedef struct _FILE_ATTRIBUTE_TAG_INFORMATION ; #line 3775 typedef struct _FILE_DISPOSITION_INFORMATION ; #line 3779 typedef struct _FILE_END_OF_FILE_INFORMATION ; #line 3784 typedef struct _FILE_FULL_EA_INFORMATION ; #line 3798 typedef enum _FSINFOCLASS ; #line 3810 typedef struct _FILE_FS_DEVICE_INFORMATION ; #line 3820 typedef union _FILE_SEGMENT_ELEMENT ; #line 3829 typedef enum _INTERFACE_TYPE ; #line 3854 typedef enum _DMA_WIDTH ; #line 3865 typedef enum _DMA_SPEED ; #line 3879 typedef void ; #line 3880 typedef void ; #line 3888 typedef enum _BUS_DATA_TYPE ; #line 3910 typedef struct _IO_ERROR_LOG_PACKET ; #line 3931 typedef struct _IO_ERROR_LOG_MESSAGE ; #line 4074 typedef struct _KEY_BASIC_INFORMATION ; #line 4081 typedef struct _KEY_NODE_INFORMATION ; #line 4091 typedef struct _KEY_FULL_INFORMATION ; #line 4106 typedef struct _KEY_NAME_INFORMATION ; #line 4112 typedef enum _KEY_INFORMATION_CLASS ; #line 4122 typedef struct _KEY_WRITE_TIME_INFORMATION ; #line 4126 typedef enum _KEY_SET_INFORMATION_CLASS ; #line 4134 typedef struct _KEY_VALUE_BASIC_INFORMATION ; #line 4141 typedef struct _KEY_VALUE_FULL_INFORMATION ; #line 4151 typedef struct _KEY_VALUE_PARTIAL_INFORMATION ; #line 4158 typedef struct _KEY_VALUE_PARTIAL_INFORMATION_ALIGN64 ; #line 4164 typedef struct _KEY_VALUE_ENTRY ; #line 4171 typedef enum _KEY_VALUE_INFORMATION_CLASS ; #line 4210 typedef struct _OBJECT_NAME_INFORMATION ; #line 4221 typedef enum _SECTION_INHERIT ; #line 4294 typedef struct _CLIENT_ID ; #line 4298 typedef CLIENT_ID ; #line 4315 typedef struct _NT_TIB ; #line 4327 typedef NT_TIB ; #line 4332 typedef enum _PROCESSINFOCLASS ; #line 4366 typedef enum _THREADINFOCLASS ; #line 4395 typedef struct _PROCESS_WS_WATCH_INFORMATION ; #line 4405 typedef struct _PROCESS_BASIC_INFORMATION ; #line 4413 typedef PROCESS_BASIC_INFORMATION ; #line 4422 typedef struct _PROCESS_DEVICEMAP_INFORMATION ; #line 4440 typedef struct _PROCESS_SESSION_INFORMATION ; #line 4454 typedef struct _QUOTA_LIMITS ; #line 4462 typedef QUOTA_LIMITS ; #line 4472 typedef struct _IO_COUNTERS ; #line 4480 typedef IO_COUNTERS ; #line 4488 typedef struct _VM_COUNTERS ; #line 4501 typedef VM_COUNTERS ; #line 4508 typedef struct _POOLED_USAGE_AND_LIMITS ; #line 4519 typedef POOLED_USAGE_AND_LIMITS ; #line 4528 typedef struct _PROCESS_ACCESS_TOKEN ; #line 4555 typedef struct _KERNEL_USER_TIMES ; #line 4561 typedef KERNEL_USER_TIMES ; #line 4587 typedef enum _SYSTEM_POWER_STATE ; #line 4598 typedef enum { PowerActionNone = 0, PowerActionReserved, PowerActionSleep, PowerActionHibernate, PowerActionShutdown, PowerActionShutdownReset, PowerActionShutdownOff, PowerActionWarmEject } ; typedef enum _DEVICE_POWER_STATE ; #line 4618 typedef union _POWER_STATE ; #line 4623 typedef enum _POWER_STATE_TYPE ; #line 4654 typedef ULONG ; typedef enum { LT_DONT_CARE, LT_LOWEST_LATENCY } ; #line 4663 typedef enum { SystemPowerPolicyAc, SystemPowerPolicyDc, VerifySystemPolicyAc, VerifySystemPolicyDc, SystemPowerCapabilities, SystemBatteryState, SystemPowerStateHandler, ProcessorStateHandler, SystemPowerPolicyCurrent, AdministratorPowerPolicy, SystemReserveHiberFile, ProcessorInformation, SystemPowerInformation } ; #line 4690 typedef ULONG ; typedef LONG ; #line 4693 typedef ULONG ; #line 4719 typedef union _MCI_STATS ; #line 4978 typedef struct _KPCR ; #line 5006 typedef KPCR ; #line 5012 typedef struct _KFLOATING_SAVE ; #line 5153 typedef enum _INTERLOCKED_RESULT ; #line 5252 #pragma warning(disable:4035) #line 6994 typedef struct _KSYSTEM_TIME ; #line 7014 #pragma warning(push) #pragma warning(disable:4164) #line 7019 #pragma function(_enable) #line 7020 #pragma function(_disable) #line 7024 #pragma warning(pop) #line 7085 typedef struct _FLOATING_SAVE_AREA ; #line 7097 typedef FLOATING_SAVE_AREA ; #line 7109 typedef struct _CONTEXT ; #line 7197 typedef CONTEXT ; #line 7826 typedef void ; #line 7850 typedef enum _ALTERNATIVE_ARCHITECTURE_TYPE ; #line 7899 typedef struct _KUSER_SHARED_DATA ; #line 8123 typedef enum _CM_SERVICE_NODE_TYPE ; #line 8132 typedef enum _CM_SERVICE_LOAD_TYPE ; #line 8140 typedef enum _CM_ERROR_CONTROL_TYPE ; #line 8172 typedef int ; #line 8198 typedef enum _CM_SHARE_DISPOSITION ; #line 8211 typedef PVOID ; #line 24 "C:/NTDDK/inc/pshpack4.h" #pragma warning(disable:4103) #pragma pack(push, 4) #line 8309 "C:/NTDDK/inc/ddk/ntddk.h" typedef struct _CM_PARTIAL_RESOURCE_DESCRIPTOR ; #line 27 "C:/NTDDK/inc/poppack.h" #pragma warning(disable:4103) #pragma pack(pop) #line 8419 "C:/NTDDK/inc/ddk/ntddk.h" typedef struct _CM_PARTIAL_RESOURCE_LIST ; #line 8443 typedef struct _CM_FULL_RESOURCE_DESCRIPTOR ; #line 8454 typedef struct _CM_RESOURCE_LIST ; #line 8471 typedef struct _DEVICE_FLAGS ; #line 8485 typedef struct _CM_COMPONENT_INFORMATION ; #line 8503 typedef struct _CM_ROM_BLOCK ; #line 24 "C:/NTDDK/inc/pshpack1.h" #pragma warning(disable:4103) #pragma pack(push, 1) #line 8518 "C:/NTDDK/inc/ddk/ntddk.h" typedef struct _CM_INT13_DRIVE_PARAMETER ; #line 8532 typedef struct _CM_MCA_POS_DATA ; #line 8544 typedef struct _EISA_MEMORY_TYPE ; #line 8554 typedef struct _EISA_MEMORY_CONFIGURATION ; #line 8567 typedef struct _EISA_IRQ_DESCRIPTOR ; #line 8575 typedef struct _EISA_IRQ_CONFIGURATION ; #line 8585 typedef struct _DMA_CONFIGURATION_BYTE0 ; #line 8592 typedef struct _DMA_CONFIGURATION_BYTE1 ; #line 8599 typedef struct _EISA_DMA_CONFIGURATION ; #line 8609 typedef struct _EISA_PORT_DESCRIPTOR ; #line 8616 typedef struct _EISA_PORT_CONFIGURATION ; #line 8628 typedef struct _CM_EISA_SLOT_INFORMATION ; #line 8644 typedef struct _CM_EISA_FUNCTION_INFORMATION ; #line 8678 typedef struct _CM_PNP_BIOS_DEVICE_NODE ; #line 8692 typedef struct _CM_PNP_BIOS_INSTALLATION_CHECK ; #line 27 "C:/NTDDK/inc/poppack.h" #pragma warning(disable:4103) #pragma pack(pop) #line 8761 "C:/NTDDK/inc/ddk/ntddk.h" typedef struct _CM_SCSI_DEVICE_DATA ; #line 8775 typedef struct _CM_VIDEO_DEVICE_DATA ; #line 8785 typedef struct _CM_SONIC_DEVICE_DATA ; #line 8796 typedef struct _CM_SERIAL_DEVICE_DATA ; #line 8810 typedef struct _CM_MONITOR_DEVICE_DATA ; #line 8844 typedef struct _CM_FLOPPY_DEVICE_DATA ; #line 8881 typedef struct _CM_KEYBOARD_DEVICE_DATA ; #line 8893 typedef struct _CM_DISK_GEOMETRY_DEVICE_DATA ; #line 8905 typedef struct _CM_PCCARD_DEVICE_DATA ; #line 8944 typedef struct _IO_RESOURCE_DESCRIPTOR ; #line 9027 typedef struct _IO_RESOURCE_LIST ; #line 9036 typedef struct _IO_RESOURCE_REQUIREMENTS_LIST ; #line 9065 typedef struct _EXCEPTION_RECORD ; #line 9074 typedef EXCEPTION_RECORD ; typedef struct _EXCEPTION_RECORD32 ; #line 9085 typedef struct _EXCEPTION_RECORD64 ; #line 9099 typedef struct _EXCEPTION_POINTERS ; #line 9111 typedef enum _CONFIGURATION_TYPE ; #line 9161 typedef enum _KINTERRUPT_MODE ; #line 9170 typedef enum _KWAIT_REASON ; #line 9207 typedef struct _DISPATCHER_HEADER ; #line 9217 typedef struct _KWAIT_BLOCK ; #line 9230 typedef void ; #line 9244 typedef struct _KDEVICE_QUEUE ; #line 9252 typedef struct _KDEVICE_QUEUE_ENTRY ; #line 9263 typedef struct _KEVENT ; #line 9271 typedef BOOLEAN ; #line 9281 typedef struct _KMUTANT ; #line 9294 typedef struct _KSEMAPHORE ; #line 9304 typedef struct _KTIMER ; #line 9899 typedef enum _KBUGCHECK_BUFFER_DUMP_STATE ; #line 9907 typedef void ; #line 9914 typedef struct _KBUGCHECK_CALLBACK_RECORD ; #line 10002 typedef void ; #line 10020 typedef LOGICAL ; #line 10037 typedef void ; #line 10053 typedef enum _MEMORY_CACHING_TYPE_ORIG ; #line 10057 typedef enum _MEMORY_CACHING_TYPE ; #line 10087 typedef struct _DBGKD_DEBUG_DATA_HEADER64 ; #line 10115 typedef enum _POOL_TYPE ; #line 10195 typedef enum _EX_POOL_PRIORITY ; #line 10247 typedef struct _FAST_MUTEX ; #line 10574 typedef PVOID ; #line 10582 typedef void ; #line 10588 typedef struct _GENERAL_LOOKASIDE ; #line 10619 typedef struct _NPAGED_LOOKASIDE_LIST ; #line 10729 typedef struct _PAGED_LOOKASIDE_LIST ; #line 10882 typedef enum _WORK_QUEUE_TYPE ; #line 10889 typedef void ; #line 10895 typedef struct _WORK_QUEUE_ITEM ; #line 10926 typedef struct _ZONE_SEGMENT_HEADER ; #line 10931 typedef struct _ZONE_HEADER ; #line 11156 typedef ULONG_PTR ; #line 11157 typedef ERESOURCE_THREAD ; typedef struct _OWNER_ENTRY ; #line 11168 typedef struct _ERESOURCE ; #line 11197 typedef struct _RESOURCE_HASH_ENTRY ; #line 11204 typedef struct _RESOURCE_PERFORMANCE_DATA ; #line 11429 typedef struct _CALLBACK_OBJECT ; typedef void ; #line 11474 typedef GUID ; #line 11862 typedef enum _MM_SYSTEM_SIZE ; #line 11884 typedef enum _LOCK_OPERATION ; #line 11970 typedef enum _MM_PAGE_PRIORITY ; #line 11999 typedef struct _PHYSICAL_MEMORY_RANGE ; #line 12385 typedef NTSTATUS ; #line 12389 typedef NTSTATUS ; #line 12399 struct _DRIVER_OBJECT ; #line 12411 typedef enum _SECURITY_OPERATION_CODE ; #line 12426 typedef struct _SECURITY_SUBJECT_CONTEXT ; #line 12448 typedef struct _INITIAL_PRIVILEGE_SET ; #line 12462 typedef struct _ACCESS_STATE ; #line 12571 typedef void ; #line 12585 typedef void ; #line 12602 typedef struct _IMAGE_INFO ; #line 12620 typedef void ; #line 12859 typedef NTSTATUS ; #line 12878 typedef enum _IO_QUERY_DEVICE_DATA_FORMAT ; #line 12890 typedef enum _CREATE_FILE_TYPE ; #line 12905 struct _DEVICE_DESCRIPTION ; #line 12906 struct _DEVICE_OBJECT ; #line 12907 struct _DMA_ADAPTER ; #line 12908 struct _DRIVER_OBJECT ; #line 12909 struct _DRIVE_LAYOUT_INFORMATION ; #line 12910 struct _DISK_PARTITION ; #line 12911 struct _FILE_OBJECT ; #line 12912 struct _IRP ; #line 12913 struct _SCSI_REQUEST_BLOCK ; #line 12919 typedef void ; #line 12932 typedef void ; #line 12943 typedef NTSTATUS ; #line 12955 typedef void ; #line 12968 typedef void ; #line 12979 typedef NTSTATUS ; #line 12990 typedef void ; #line 13001 typedef void ; #line 13011 typedef NTSTATUS ; #line 13025 typedef BOOLEAN ; #line 13038 typedef BOOLEAN ; #line 13051 typedef BOOLEAN ; #line 13068 typedef BOOLEAN ; #line 13078 typedef BOOLEAN ; #line 13092 typedef BOOLEAN ; #line 13106 typedef BOOLEAN ; #line 13118 typedef BOOLEAN ; #line 13127 typedef BOOLEAN ; #line 13141 typedef BOOLEAN ; #line 13161 typedef void ; #line 13167 typedef void ; #line 13179 typedef void ; #line 13193 typedef BOOLEAN ; #line 13207 typedef BOOLEAN ; #line 13219 typedef BOOLEAN ; #line 13227 typedef BOOLEAN ; #line 13239 typedef BOOLEAN ; #line 13253 typedef NTSTATUS ; #line 13262 typedef NTSTATUS ; #line 13275 typedef NTSTATUS ; #line 13282 typedef NTSTATUS ; #line 13289 typedef BOOLEAN ; #line 13304 typedef BOOLEAN ; #line 13319 typedef BOOLEAN ; #line 13327 typedef BOOLEAN ; #line 13336 typedef BOOLEAN ; #line 13350 typedef struct _FAST_IO_DISPATCH ; #line 13386 typedef enum _IO_ALLOCATION_ACTION ; #line 13396 typedef IO_ALLOCATION_ACTION ; #line 13410 typedef struct _IO_SECURITY_CONTEXT ; #line 13434 typedef struct _VPB ; #line 13482 typedef struct _ADAPTER_OBJECT ; #line 13491 typedef struct _WAIT_CONTEXT_BLOCK ; #line 13503 typedef struct _CONTROLLER_OBJECT ; #line 13537 typedef struct _DEVICE_OBJECT ; #line 13575 typedef struct _DEVICE_OBJECT ; #line 13578 struct _DEVICE_OBJECT_POWER_EXTENSION ; typedef struct _DEVOBJ_EXTENSION ; #line 13608 typedef struct _DRIVER_EXTENSION ; #line 13645 typedef struct _DRIVER_OBJECT ; #line 13706 typedef struct _DRIVER_OBJECT ; #line 13715 typedef struct _SECTION_OBJECT_POINTERS ; #line 13720 typedef SECTION_OBJECT_POINTERS ; #line 13726 typedef struct _IO_COMPLETION_CONTEXT ; #line 13759 typedef struct _FILE_OBJECT ; #line 13788 typedef struct _FILE_OBJECT ; #line 13828 typedef struct _IRP ; #line 14078 typedef NTSTATUS ; #line 14163 typedef enum _DEVICE_RELATION_TYPE ; #line 14171 typedef struct _DEVICE_RELATIONS ; #line 14176 typedef enum _DEVICE_USAGE_NOTIFICATION_TYPE ; #line 14185 typedef struct _INTERFACE ; #line 14196 typedef struct _DEVICE_CAPABILITIES ; #line 14229 typedef struct _POWER_SEQUENCE ; #line 14235 typedef enum { BusQueryDeviceID = 0, BusQueryHardwareIDs = 1, BusQueryCompatibleIDs = 2, BusQueryInstanceID = 3, BusQueryDeviceSerialNumber = 4 } ; typedef ULONG ; #line 14252 typedef enum { DeviceTextDescription = 0, DeviceTextLocationInformation = 1 } ; #line 24 "C:/NTDDK/inc/pshpack4.h" #pragma warning(disable:4103) #pragma pack(push, 4) #line 14271 "C:/NTDDK/inc/ddk/ntddk.h" typedef struct _IO_STACK_LOCATION ; #line 27 "C:/NTDDK/inc/poppack.h" #pragma warning(disable:4103) #pragma pack(pop) #line 14615 "C:/NTDDK/inc/ddk/ntddk.h" typedef struct _SHARE_ACCESS ; #line 14635 typedef struct _CONFIGURATION_INFORMATION ; #line 14848 typedef struct _BOOTDISK_INFORMATION ; #line 15754 typedef struct _IO_REMOVE_LOCK_TRACKING_BLOCK ; typedef struct _IO_REMOVE_LOCK_COMMON_BLOCK ; #line 15764 typedef struct _IO_REMOVE_LOCK_DBG_BLOCK ; #line 15777 typedef struct _IO_REMOVE_LOCK ; #line 16009 typedef struct _IO_WORKITEM ; typedef void ; #line 16100 typedef enum { DevicePropertyDeviceDescription, DevicePropertyHardwareID, DevicePropertyCompatibleIDs, DevicePropertyBootConfiguration, DevicePropertyBootConfigurationTranslated, DevicePropertyClassName, DevicePropertyClassGuid, DevicePropertyDriverKeyName, DevicePropertyManufacturer, DevicePropertyFriendlyName, DevicePropertyLocationInformation, DevicePropertyPhysicalDeviceObjectName, DevicePropertyBusTypeGuid, DevicePropertyLegacyBusType, DevicePropertyBusNumber, DevicePropertyEnumeratorName, DevicePropertyAddress, DevicePropertyUINumber } ; typedef BOOLEAN ; #line 16129 typedef struct _DMA_ADAPTER ; #line 16135 typedef ULONG ; #line 16148 typedef struct _PNP_BUS_INFORMATION ; #line 16162 typedef struct _LEGACY_BUS_INFORMATION ; #line 16168 typedef struct _BUS_INTERFACE_STANDARD ; #line 16190 typedef BOOLEAN ; #line 16194 typedef NTSTATUS ; #line 16203 typedef NTSTATUS ; #line 16206 typedef NTSTATUS ; #line 16210 typedef NTSTATUS ; #line 16214 typedef NTSTATUS ; #line 16218 typedef void ; #line 16222 typedef NTSTATUS ; #line 16227 typedef void ; #line 16231 typedef struct _ACPI_INTERFACE_STANDARD ; #line 16255 typedef enum _ACPI_REG_TYPE ; #line 16268 typedef USHORT ; #line 16272 typedef void ; #line 16278 typedef struct ACPI_REGS_INTERFACE_STANDARD ; #line 16300 typedef struct { PVOID LinkNode ; ULONG StaticVector ; UCHAR Flags ; } ; #line 16314 typedef NTSTATUS ; #line 16329 typedef NTSTATUS ; #line 16336 typedef void ; #line 16343 typedef struct _INT_ROUTE_INTERFACE_STANDARD ; #line 16366 typedef struct _IO_ASSIGNED_RESOURCES ; #line 16490 typedef enum _IO_NOTIFICATION_EVENT_CATEGORY ; #line 16504 typedef NTSTATUS ; #line 16537 typedef void ; #line 16573 typedef enum _ARBITER_ACTION ; #line 16586 typedef struct _ARBITER_CONFLICT_INFO ; #line 16608 typedef struct _ARBITER_PARAMETERS ; #line 16719 typedef enum _ARBITER_REQUEST_SOURCE ; #line 16731 typedef enum _ARBITER_RESULT ; #line 16761 typedef struct _ARBITER_LIST_ENTRY ; #line 16832 typedef NTSTATUS ; #line 16853 typedef struct _ARBITER_INTERFACE ; #line 16880 typedef enum _RESOURCE_TRANSLATION_DIRECTION ; #line 16889 typedef NTSTATUS ; #line 16901 typedef NTSTATUS ; #line 16915 typedef struct _TRANSLATOR_INTERFACE ; #line 16931 typedef NTSTATUS ; #line 16945 typedef struct _LEGACY_DEVICE_DETECTION_INTERFACE ; #line 16959 typedef struct _PLUGPLAY_NOTIFICATION_HEADER ; #line 16972 typedef struct _HWPROFILE_CHANGE_NOTIFICATION ; #line 16986 typedef struct _DEVICE_INTERFACE_CHANGE_NOTIFICATION ; #line 17006 typedef struct _TARGET_DEVICE_REMOVAL_NOTIFICATION ; #line 17026 typedef struct _TARGET_DEVICE_CUSTOM_NOTIFICATION ; #line 17054 typedef struct _DEVICE_DESCRIPTION ; #line 17086 typedef BOOLEAN ; #line 17333 typedef void ; #line 17339 typedef struct _DEVICE_CONTROL_CONTEXT ; #line 17349 typedef PBUS_HANDLER ; #line 17355 typedef void ; #line 17365 typedef enum _HAL_QUERY_INFORMATION_CLASS ; #line 17381 typedef enum _HAL_SET_INFORMATION_CLASS ; #line 17388 typedef NTSTATUS ; #line 17405 typedef NTSTATUS ; #line 17420 typedef void ; #line 17429 typedef void ; #line 17438 typedef NTSTATUS ; #line 17447 typedef NTSTATUS ; #line 17456 typedef NTSTATUS ; #line 17466 typedef NTSTATUS ; #line 17475 typedef NTSTATUS ; #line 17486 typedef struct _PM_DISPATCH_TABLE ; #line 17492 typedef NTSTATUS ; #line 17505 typedef struct _DMA_ADAPTER ; #line 17520 typedef NTSTATUS ; #line 17543 typedef BOOLEAN ; #line 17553 typedef NTSTATUS ; #line 17566 typedef void ; #line 17572 typedef void ; #line 17578 typedef BOOLEAN ; #line 17588 typedef struct { ULONG Version ; pHalQuerySystemInformation HalQuerySystemInformation ; pHalSetSystemInformation HalSetSystemInformation ; pHalQueryBusSlots HalQueryBusSlots ; ULONG Spare1 ; pHalExamineMBR HalExamineMBR ; pHalIoAssignDriveLetters HalIoAssignDriveLetters ; pHalIoReadPartitionTable HalIoReadPartitionTable ; pHalIoSetPartitionInformation HalIoSetPartitionInformation ; pHalIoWritePartitionTable HalIoWritePartitionTable ; pHalHandlerForBus HalReferenceHandlerForBus ; pHalReferenceBusHandler HalReferenceBusHandler ; pHalReferenceBusHandler HalDereferenceBusHandler ; pHalInitPnpDriver HalInitPnpDriver ; pHalInitPowerManagement HalInitPowerManagement ; pHalGetDmaAdapter HalGetDmaAdapter ; pHalGetInterruptTranslator HalGetInterruptTranslator ; } ; #line 17650 typedef struct _HAL_BUS_INFORMATION ; #line 17658 typedef struct _HAL_PROFILE_SOURCE_INFORMATION ; #line 17665 typedef struct _HAL_PROFILE_SOURCE_INTERVAL ; #line 17671 typedef enum _HAL_DISPLAY_BIOS_INFORMATION ; #line 17678 typedef struct _HAL_POWER_INFORMATION ; #line 17683 typedef struct _HAL_PROCESSOR_SPEED_INFO ; #line 17688 typedef struct _HAL_CALLBACKS ; #line 17694 typedef struct _HAL_PROCESSOR_FEATURE ; #line 17706 typedef union _MCI_ADDR ; #line 17716 typedef enum { HAL_MCE_RECORD, HAL_MCA_RECORD } ; #line 17726 typedef struct _MCA_EXCEPTION ; #line 17752 typedef void ; #line 17762 typedef struct _MCA_DRIVER_INFO ; #line 17772 typedef struct _SCATTER_GATHER_ELEMENT ; #line 17778 #pragma warning(disable:4200) #line 17779 typedef struct _SCATTER_GATHER_LIST ; #line 17784 #pragma warning(default:4200) #line 17788 typedef struct _DMA_OPERATIONS ; typedef struct _DMA_ADAPTER ; #line 17797 typedef void ; #line 17801 typedef PVOID ; #line 17808 typedef void ; #line 17816 typedef NTSTATUS ; #line 17824 typedef BOOLEAN ; #line 17833 typedef void ; #line 17837 typedef void ; #line 17843 typedef PHYSICAL_ADDRESS ; #line 17852 typedef ULONG ; #line 17856 typedef ULONG ; #line 17860 typedef void ; #line 17868 typedef NTSTATUS ; #line 17880 typedef void ; #line 17887 typedef struct _DMA_OPERATIONS ; #line 18235 typedef void ; #line 18321 typedef struct _OBJECT_HANDLE_INFORMATION ; #line 18402 typedef struct _PCI_SLOT_NUMBER ; #line 18418 typedef struct _PCI_COMMON_CONFIG ; #line 18591 typedef struct _PCI_CAPABILITIES_HEADER ; #line 18600 typedef struct _PCI_PMC ; #line 18618 typedef struct _PCI_PMCSR ; #line 18628 typedef struct _PCI_PMCSR_BSE ; #line 18635 typedef struct _PCI_PM_CAPABILITY ; #line 18679 typedef struct _PCI_AGP_CAPABILITY ; #line 18720 typedef struct _PCI_MSI_CAPABILITY ; #line 18946 typedef void ; #line 18954 typedef void ; #line 18963 typedef void ; #line 18975 typedef struct _PCIBUSDATA ; #line 18986 typedef ULONG ; #line 18995 typedef void ; #line 19000 typedef void ; #line 19006 typedef struct _PCI_BUS_INTERFACE_STANDARD ; #line 19028 typedef BOOLEAN ; #line 19043 typedef struct _PCI_DEVICE_PRESENT_INTERFACE ; #line 96 "C:/NTDDK/inc/ntddpar.h" typedef struct _PAR_QUERY_INFORMATION ; #line 100 typedef struct _PAR_SET_INFORMATION ; #line 117 typedef struct _PAR_DEVICE_ID_SIZE_INFORMATION ; #line 128 typedef struct _PARCLASS_NEGOTIATION_MASK ; #line 103 "C:/NTDDK/inc/ddk/parallel.h" typedef struct _PARPORT_REMOVAL_RELATIONS ; #line 114 static UCHAR ModeQualifier___4[7] = {0xAA, 0x55, 0x00, 0xFF, 0x87, 0x78, 0xFF}; #line 117 static UCHAR LegacyZipModeQualifier___4[3] = {0x00, 0x3c, 0x20}; typedef enum { P12843DL_OFF, P12843DL_DOT3_DL, P12843DL_MLC_DL, P12843DL_DOT4_DL } ; #line 138 typedef BOOLEAN ; #line 144 typedef void ; #line 150 typedef ULONG ; #line 156 typedef NTSTATUS ; #line 163 typedef NTSTATUS ; #line 170 typedef NTSTATUS ; #line 177 typedef NTSTATUS ; #line 184 typedef NTSTATUS ; #line 191 typedef NTSTATUS ; #line 213 typedef struct _PARALLEL_PARCHIP_INFO ; #line 226 typedef struct _PARALLEL_PORT_INFORMATION ; #line 236 typedef struct _PARALLEL_PNP_INFORMATION ; #line 298 typedef struct _PARALLEL_1284_COMMAND ; #line 320 typedef struct _PARALLEL_CHIP_MODE ; #line 333 typedef void ; #line 339 typedef struct _PARALLEL_INTERRUPT_SERVICE_ROUTINE ; #line 351 typedef struct _PARALLEL_INTERRUPT_INFORMATION ; #line 363 typedef struct _MORE_PARALLEL_PORT_INFORMATION ; #line 372 typedef enum { SAFE_MODE, UNSAFE_MODE } ; #line 384 typedef USHORT ; #line 400 typedef NTSTATUS ; #line 411 typedef NTSTATUS ; #line 417 typedef NTSTATUS ; #line 423 typedef NTSTATUS ; #line 429 typedef NTSTATUS ; #line 439 typedef NTSTATUS ; #line 449 typedef NTSTATUS ; #line 456 typedef NTSTATUS ; #line 463 typedef struct _PARCLASS_INFORMATION ; #line 719 typedef enum { PHASE_UNKNOWN, PHASE_NEGOTIATION, PHASE_SETUP, PHASE_FORWARD_IDLE, PHASE_FORWARD_XFER, PHASE_FWD_TO_REV, PHASE_REVERSE_IDLE, PHASE_REVERSE_XFER, PHASE_REV_TO_FWD, PHASE_TERMINATE, PHASE_DATA_AVAILABLE, PHASE_DATA_NOT_AVAIL, PHASE_INTERRUPT_HOST } ; typedef enum { HW_MODE_COMPATIBILITY, HW_MODE_PS2, HW_MODE_FAST_CENTRONICS, HW_MODE_ECP, HW_MODE_EPP, HW_MODE_RESERVED, HW_MODE_TEST, HW_MODE_CONFIGURATION } ; #line 28 "C:/NTDDK/inc/ddk/wdm/wmilib.h" #pragma once #line 38 typedef struct { LPCGUID Guid ; ULONG InstanceCount ; ULONG Flags ; } ; #line 45 typedef NTSTATUS ; #line 101 typedef NTSTATUS ; #line 162 typedef NTSTATUS ; #line 206 typedef NTSTATUS ; #line 253 typedef NTSTATUS ; #line 306 typedef enum { WmiEventControl, WmiDataBlockControl } ; #line 312 typedef NTSTATUS ; #line 355 typedef struct _WMILIB_CONTEXT ; #line 411 typedef enum { IrpProcessed, IrpNotCompleted, IrpNotWmi, IrpForward } ; #line 13 "C:/NTDDK/inc/wmidata.h" typedef struct _MSWmi_MofData ; #line 51 typedef struct _MSWmi_ProviderInfo ; #line 66 typedef struct _MSWmi_PnPDeviceId ; #line 83 typedef struct _MSWmi_PnPInstanceNames ; #line 105 typedef struct _MSSmBios_RawSMBiosTables ; #line 147 typedef struct _MSPower_DeviceEnable ; #line 165 typedef struct _MSPower_DeviceWakeEnable ; #line 182 typedef struct _MSNdis_NetworkAddress ; #line 199 typedef struct _MSNdis_NetworkShortAddress ; #line 216 typedef struct _MSNdis_NetworkLinkSpeed ; #line 239 typedef struct _MSNdis_EnumerateAdapter ; #line 256 typedef struct _MSNdis_NotifyAdapterRemoval ; #line 273 typedef struct _MSNdis_NotifyAdapterArrival ; #line 291 typedef struct _MSNdis_NdisEnumerateVc ; #line 307 typedef struct _MSNdis_NotifyVcRemoval ; #line 323 typedef struct _MSNdis_NotifyVcArrival ; #line 338 typedef struct _MSNdis_HardwareStatus ; #line 356 typedef struct _MSNdis_MediaSupported ; #line 378 typedef struct _MSNdis_MediaInUse ; #line 400 typedef struct _MSNdis_MaximumLookahead ; #line 418 typedef struct _MSNdis_MaximumFrameSize ; #line 436 typedef struct _MSNdis_LinkSpeed ; #line 454 typedef struct _MSNdis_TransmitBufferSpace ; #line 472 typedef struct _MSNdis_ReceiveBufferSpace ; #line 490 typedef struct _MSNdis_TransmitBlockSize ; #line 508 typedef struct _MSNdis_ReceiveBlockSize ; #line 526 typedef struct _MSNdis_VendorID ; #line 544 typedef struct _MSNdis_VendorDescription ; #line 561 typedef struct _MSNdis_CurrentPacketFilter ; #line 579 typedef struct _MSNdis_CurrentLookahead ; #line 597 typedef struct _MSNdis_DriverVersion ; #line 615 typedef struct _MSNdis_MaximumTotalSize ; #line 633 typedef struct _MSNdis_MacOptions ; #line 651 typedef struct _MSNdis_MediaConnectStatus ; #line 669 typedef struct _MSNdis_MaximumSendPackets ; #line 687 typedef struct _MSNdis_VendorDriverVersion ; #line 705 typedef struct _MSNdis_TransmitsOk ; #line 723 typedef struct _MSNdis_ReceivesOk ; #line 741 typedef struct _MSNdis_TransmitsError ; #line 759 typedef struct _MSNdis_ReceiveError ; #line 777 typedef struct _MSNdis_ReceiveNoBuffer ; #line 795 typedef struct _MSNdis_CoHardwareStatus ; #line 813 typedef struct _MSNdis_CoMediaSupported ; #line 835 typedef struct _MSNdis_CoMediaInUse ; #line 857 typedef struct _MSNdis_CoLinkSpeed ; #line 875 typedef struct _MSNdis_CoVendorId ; #line 893 typedef struct _MSNdis_CoVendorDescription ; #line 910 typedef struct _MSNdis_CoDriverVersion ; #line 928 typedef struct _MSNdis_CoMacOptions ; #line 946 typedef struct _MSNdis_CoMediaConnectStatus ; #line 964 typedef struct _MSNdis_CoVendorDriverVersion ; #line 982 typedef struct _MSNdis_CoMinimumLinkSpeed ; #line 1000 typedef struct _MSNdis_CoTransmitPdusOk ; #line 1018 typedef struct _MSNdis_CoReceivePdusOk ; #line 1036 typedef struct _MSNdis_CoTransmitPduErrors ; #line 1054 typedef struct _MSNdis_CoReceivePduErrors ; #line 1072 typedef struct _MSNdis_CoReceivePdusNoBuffer ; #line 1090 typedef struct _MSNdis_AtmSupportedVcRates ; #line 1113 typedef struct _MSNdis_AtmSupportedServiceCategory ; #line 1131 typedef struct _MSNdis_AtmSupportedAalTypes ; #line 1149 typedef struct _MSNdis_AtmHardwareCurrentAddress ; #line 1167 typedef struct _MSNdis_AtmMaxActiveVcs ; #line 1185 typedef struct _MSNdis_AtmMaxActiveVciBits ; #line 1203 typedef struct _MSNdis_AtmMaxActiveVpiBits ; #line 1221 typedef struct _MSNdis_AtmMaxAal0PacketSize ; #line 1239 typedef struct _MSNdis_AtmMaxAal1PacketSize ; #line 1257 typedef struct _MSNdis_AtmMaxAal34PacketSize ; #line 1275 typedef struct _MSNdis_AtmMaxAal5PacketSize ; #line 1293 typedef struct _MSNdis_AtmReceiveCellsOk ; #line 1311 typedef struct _MSNdis_AtmTransmitCellsOk ; #line 1329 typedef struct _MSNdis_AtmReceiveCellsDropped ; #line 1347 typedef struct _MSNdis_EthernetPermanentAddress ; #line 1365 typedef struct _MSNdis_EthernetCurrentAddress ; #line 1383 typedef struct _MSNdis_EthernetMulticastList ; #line 1405 typedef struct _MSNdis_EthernetMaximumMulticastListSize ; #line 1423 typedef struct _MSNdis_EthernetMacOptions ; #line 1441 typedef struct _MSNdis_EthernetReceiveErrorAlignment ; #line 1459 typedef struct _MSNdis_EthernetOneTransmitCollision ; #line 1477 typedef struct _MSNdis_EthernetMoreTransmitCollisions ; #line 1495 typedef struct _MSNdis_TokenRingPermanentAddress ; #line 1513 typedef struct _MSNdis_TokenRingCurrentAddress ; #line 1531 typedef struct _MSNdis_TokenRingCurrentFunctional ; #line 1549 typedef struct _MSNdis_TokenRingCurrentGroup ; #line 1567 typedef struct _MSNdis_TokenRingLastOpenStatus ; #line 1585 typedef struct _MSNdis_TokenRingCurrentRingStatus ; #line 1603 typedef struct _MSNdis_TokenRingCurrentRingState ; #line 1621 typedef struct _MSNdis_TokenRingLineErrors ; #line 1639 typedef struct _MSNdis_TokenRingLostFrames ; #line 1657 typedef struct _MSNdis_FddiLongPermanentAddress ; #line 1675 typedef struct _MSNdis_FddiLongCurrentAddress ; #line 1693 typedef struct _MSNdis_FddiLongMulticastList ; #line 1715 typedef struct _MSNdis_FddiLongMaximumListSize ; #line 1733 typedef struct _MSNdis_FddiShortPermanentAddress ; #line 1751 typedef struct _MSNdis_FddiShortCurrentAddress ; #line 1769 typedef struct _MSNdis_FddiShortMulticastList ; #line 1791 typedef struct _MSNdis_FddiShortMaximumListSize ; #line 1809 typedef struct _MSNdis_FddiAttachmentType ; #line 1827 typedef struct _MSNdis_FddiUpstreamNodeLong ; #line 1845 typedef struct _MSNdis_FddiDownstreamNodeLong ; #line 1863 typedef struct _MSNdis_FddiFrameErrors ; #line 1881 typedef struct _MSNdis_FddiFramesLost ; #line 1899 typedef struct _MSNdis_FddiRingManagmentState ; #line 1917 typedef struct _MSNdis_FddiLctFailures ; #line 1935 typedef struct _MSNdis_FddiLemRejects ; #line 1953 typedef struct _MSNdis_FddiLConnectionState ; #line 1972 typedef struct _MSNdis_StatusResetStart ; #line 1988 typedef struct _MSNdis_StatusResetEnd ; #line 2004 typedef struct _MSNdis_StatusMediaConnect ; #line 2020 typedef struct _MSNdis_StatusMediaDisconnect ; #line 2035 typedef struct _MSNdis_StatusMediaSpecificIndication ; #line 2057 typedef struct _MSNdis_StatusLinkSpeedChange ; #line 2075 typedef struct _MSNdis_StatusProtocolBind ; #line 2092 typedef struct _MSNdis_StatusProtocolUnbind ; #line 2109 typedef struct _KEYBOARD_PORT_WMI_STD_DATA ; #line 2152 typedef struct _POINTER_PORT_WMI_STD_DATA ; #line 2205 typedef struct _MSMouse_ClassInformation ; #line 2223 typedef struct _MSKeyboard_ClassInformation ; #line 2241 typedef struct _MSAcpi_ThermalZoneTemperature ; #line 2304 typedef struct _WMI_DISK_GEOMETRY ; #line 2342 typedef struct _WMI_DISK_PERFORMANCE ; #line 2415 typedef struct _MSDiskDriver_Performance ; #line 2437 typedef struct _STORAGE_FAILURE_PREDICT_STATUS ; #line 2460 typedef struct _STORAGE_FAILURE_PREDICT_DATA ; #line 2483 typedef struct _STORAGE_FAILURE_PREDICT_EVENT ; #line 2513 typedef struct _STORAGE_FAILURE_PREDICT_FUNCTION ; #line 2528 typedef struct _MSIde_PortDeviceInfo ; #line 2556 typedef struct _MSSerial_PortName ; #line 2573 typedef struct _SERIAL_WMI_COMM_DATA ; #line 2723 typedef struct _SERIAL_WMI_HW_DATA ; #line 2770 typedef struct _SERIAL_WMI_PERF_DATA ; #line 2813 typedef struct _SERIAL_WMI_COMMPROP ; #line 2920 typedef struct _PARPORT_WMI_ALLOC_FREE_COUNTS ; #line 2943 typedef struct _PARALLEL_WMI_LOG_INFO ; #line 3041 typedef struct _REDBOOK_WMI_STD_DATA ; #line 3094 typedef struct _REDBOOK_WMI_PERF_DATA ; #line 3137 typedef struct _RegisteredGuids ; #line 96 "parport.h" typedef struct _DEVICE_EXTENSION ; #line 265 typedef struct _SYNCHRONIZED_COUNT_CONTEXT ; #line 270 typedef struct _SYNCHRONIZED_LIST_CONTEXT ; #line 275 typedef struct _SYNCHRONIZED_DISCONNECT_CONTEXT ; #line 280 typedef struct _ISR_LIST_ENTRY ; #line 288 typedef struct _REMOVAL_RELATIONS_LIST_ENTRY ; #line 13 "nec_r98.c" BOOLEAN PptIsNecR98Machine(void ) { #line 39 UNICODE_STRING Path ; RTL_QUERY_REGISTRY_TABLE ParamTable[2] ; NTSTATUS Status ; #line 43 UNICODE_STRING identifierString ; UNICODE_STRING necR98Identifier ; UNICODE_STRING necR98JIdentifier ; #line 47 /*BLAST RtlInitUnicodeString(& Path, (PWSTR )"\134\0R\0e\0g\0i\0s\0t\0r\0y\0\134\0M\0a\0c\0h\0i\0n\0e\0\134\0H\0A\0R\0D\0W\0A\0R\0E\0\134\0D\0E\0S\0C\0R\0I\0P\0T\0I\0O\0N\0\134\0S\0y\0s\0t\0e\0m\0") ; #line 48 RtlInitUnicodeString(& necR98Identifier, (PWSTR )"N\0E\0C\0-\0R\09\08\0"); #line 49 RtlInitUnicodeString(& necR98JIdentifier, (PWSTR )"N\0E\0C\0-\0J\09\08\0"); */ #line 52 identifierString.Length = 0; identifierString.MaximumLength = 32; identifierString.Buffer = ExAllocatePoolWithTag(PagedPool, identifierString.MaximumLength, 'PraP'); if(! identifierString.Buffer) #line 56 return 0; #line 58 memset(ParamTable, 0, sizeof(ParamTable)); (ParamTable[0]).Flags = 0x00000020 | 0x00000004; #line 61 /* (ParamTable[0]).Name = (PWSTR )"I\0d\0e\0n\0t\0i\0f\0i\0e\0r\0"; */ (ParamTable[0]).EntryContext = & identifierString; (ParamTable[0]).DefaultType = 1; (ParamTable[0]).DefaultData = & Path; (ParamTable[0]).DefaultLength = 0; #line 67 Status = RtlQueryRegistryValues(0, Path.Buffer, ParamTable, (void * )0, (void * )0); #line 74 if((NTSTATUS )Status >= 0) { if(RtlCompareUnicodeString(& identifierString, & necR98Identifier, 0) == 0 || RtlCompareUnicodeString(& identifierString, & necR98JIdentifier, 0) == 0) { #line 83 do { #line 83 ; } while(0); #line 85 ExFreePool(identifierString.Buffer); return 1; } } else { #line 94 do { #line 94 ; } while(0); #line 96 ExFreePool(identifierString.Buffer); return 0; } #line 102 do { #line 102 ; } while(0); #line 104 ExFreePool(identifierString.Buffer); return 0; } #line 16 "C:/Program Files/Microsoft Visual Studio/VC98/include/excpt.h" #pragma once #line 32 #pragma pack(push, 8) #line 72 typedef enum _EXCEPTION_DISPOSITION ; #line 89 struct _EXCEPTION_RECORD ; #line 90 struct _CONTEXT ; #line 155 #pragma pack(pop) #line 25 "C:/NTDDK/inc/ntdef.h" #pragma once #line 15 "C:/Program Files/Microsoft Visual Studio/VC98/include/ctype.h" #pragma once #line 60 typedef unsigned short ; #line 66 typedef wchar_t ; #line 67 typedef wchar_t ; #line 127 "C:/NTDDK/inc/ntdef.h" typedef unsigned long ; #line 25 "C:/NTDDK/inc/basetsd.h" #pragma once #line 36 typedef int ; #line 37 typedef int ; #line 43 typedef unsigned int ; #line 44 typedef unsigned int ; #line 45 typedef unsigned int ; #line 84 typedef int ; #line 85 typedef unsigned int ; typedef long ; #line 88 typedef unsigned long ; #line 248 typedef unsigned short ; #line 249 typedef short ; #line 250 typedef unsigned long ; #line 288 typedef ULONG_PTR ; #line 289 typedef LONG_PTR ; #line 295 typedef ULONG_PTR ; #line 301 typedef __int64 ; #line 302 typedef __int64 ; #line 309 typedef unsigned __int64 ; #line 310 typedef unsigned __int64 ; #line 311 typedef unsigned __int64 ; #line 217 "C:/NTDDK/inc/ntdef.h" typedef void ; #line 218 typedef void ; #line 266 typedef char ; #line 267 typedef short ; #line 268 typedef long ; #line 276 typedef wchar_t ; #line 282 typedef WCHAR ; #line 283 typedef WCHAR ; #line 284 typedef const WCHAR ; #line 285 typedef WCHAR ; #line 286 typedef WCHAR ; typedef const WCHAR ; #line 293 typedef CHAR ; #line 294 typedef CHAR ; typedef const CHAR ; #line 297 typedef CHAR ; #line 298 typedef CHAR ; #line 299 typedef const CHAR ; #line 321 typedef char ; #line 322 typedef unsigned char ; #line 326 typedef LPSTR ; #line 327 typedef LPSTR ; #line 328 typedef LPCSTR ; #line 337 typedef double ; typedef struct _QUAD ; #line 349 typedef SHORT ; #line 350 typedef LONG ; #line 351 typedef QUAD ; #line 360 typedef unsigned char ; #line 361 typedef unsigned short ; #line 362 typedef unsigned long ; #line 363 typedef QUAD ; #line 369 typedef UCHAR ; #line 370 typedef USHORT ; #line 371 typedef ULONG ; #line 372 typedef UQUAD ; #line 378 typedef signed char ; #line 379 typedef SCHAR ; #line 394 typedef void ; #line 400 typedef HANDLE ; #line 406 typedef UCHAR ; #line 407 typedef USHORT ; #line 408 typedef ULONG ; #line 414 typedef LONG ; #line 478 typedef char ; #line 479 typedef short ; #line 480 typedef ULONG ; typedef CCHAR ; #line 483 typedef CSHORT ; #line 484 typedef CLONG ; #line 492 typedef ULONG ; #line 493 typedef PULONG ; #line 494 typedef USHORT ; #line 500 typedef ULONG ; #line 501 typedef ULONG ; #line 508 typedef LONG ; typedef NTSTATUS ; #line 602 typedef struct _FLOAT128 ; #line 607 typedef FLOAT128 ; #line 621 typedef __int64 ; #line 622 typedef unsigned __int64 ; #line 639 typedef LONGLONG ; #line 640 typedef ULONGLONG ; #line 644 typedef LONGLONG ; #line 649 typedef union _LARGE_INTEGER ; #line 662 typedef LARGE_INTEGER ; #line 668 typedef union _ULARGE_INTEGER ; #line 681 typedef ULARGE_INTEGER ; #line 690 typedef struct _LUID ; #line 696 typedef ULONGLONG ; #line 697 typedef DWORDLONG ; #line 707 typedef LARGE_INTEGER ; #line 831 #pragma warning(push) #pragma warning(disable:4035) __inline ULONGLONG __stdcall Int64ShllMod32___6(ULONGLONG Value , ULONG ShiftCount ) { #line 842 __asm { mov ecx, ShiftCount mov eax, dword ptr [Value] mov edx, dword ptr [Value+4] shld edx, eax, cl shl eax, cl }; } #line 845 __inline LONGLONG __stdcall Int64ShraMod32___6(LONGLONG Value , ULONG ShiftCount ) { #line 852 __asm { mov ecx, ShiftCount mov eax, dword ptr [Value] mov edx, dword ptr [Value+4] shrd eax, edx, cl sar edx, cl }; } #line 855 __inline ULONGLONG __stdcall Int64ShrlMod32___6(ULONGLONG Value , ULONG ShiftCount ) { #line 862 __asm { mov ecx, ShiftCount mov eax, dword ptr [Value] mov edx, dword ptr [Value+4] shrd eax, edx, cl shr edx, cl }; } #pragma warning(pop) #line 956 typedef enum _EVENT_TYPE ; #line 965 typedef enum _TIMER_TYPE ; #line 974 typedef enum _WAIT_TYPE ; #line 983 typedef CHAR ; #line 984 typedef const char ; #line 991 typedef struct _STRING ; #line 999 typedef STRING ; typedef STRING ; #line 1002 typedef PSTRING ; typedef STRING ; #line 1005 typedef PSTRING ; #line 1011 typedef struct _CSTRING ; #line 1016 typedef CSTRING ; #line 1019 typedef STRING ; #line 1020 typedef PSTRING ; #line 1027 typedef struct _UNICODE_STRING ; #line 1036 typedef UNICODE_STRING ; #line 1037 typedef const UNICODE_STRING ; #line 1046 typedef UCHAR ; #line 1047 typedef BOOLEAN ; #line 1057 typedef struct _LIST_ENTRY ; #line 1067 typedef struct _SINGLE_LIST_ENTRY ; #line 1078 typedef struct LIST_ENTRY32 ; #line 1082 typedef LIST_ENTRY32 ; typedef struct LIST_ENTRY64 ; #line 1088 typedef LIST_ENTRY64 ; #line 1127 typedef struct _STRING32 ; #line 1132 typedef STRING32 ; typedef STRING32 ; #line 1135 typedef UNICODE_STRING32 ; typedef STRING32 ; #line 1138 typedef ANSI_STRING32 ; #line 1141 typedef struct _STRING64 ; #line 1146 typedef STRING64 ; typedef STRING64 ; #line 1149 typedef UNICODE_STRING64 ; typedef STRING64 ; #line 1152 typedef ANSI_STRING64 ; #line 1173 typedef struct _OBJECT_ATTRIBUTES ; #line 1181 typedef OBJECT_ATTRIBUTES ; #line 17 "C:/NTDDK/inc/guiddef.h" typedef struct _GUID ; #line 70 typedef GUID ; #line 75 typedef const GUID ; #line 81 typedef GUID ; #line 82 typedef IID ; #line 85 typedef GUID ; #line 86 typedef CLSID ; #line 89 typedef GUID ; #line 90 typedef FMTID ; #line 16 "C:/NTDDK/inc/string.h" #pragma once #line 54 typedef unsigned int ; #line 1233 "C:/NTDDK/inc/ntdef.h" typedef struct _OBJECTID ; #line 1288 struct _CONTEXT ; #line 1289 struct _EXCEPTION_RECORD ; typedef EXCEPTION_DISPOSITION ; #line 1306 typedef UCHAR ; typedef KIRQL ; #line 1316 typedef enum _NT_PRODUCT_TYPE ; #line 1329 typedef enum _SUITE_TYPE ; #line 75 "C:/NTDDK/inc/ddk/ntddk.h" typedef struct _KTHREAD ; #line 76 typedef struct _ETHREAD ; #line 77 typedef struct _EPROCESS ; #line 78 typedef struct _PEB ; #line 79 typedef struct _KINTERRUPT ; #line 80 typedef struct _IO_TIMER ; #line 81 typedef struct _OBJECT_TYPE ; #line 82 typedef struct _CALLBACK_OBJECT ; #line 83 typedef struct _DEVICE_HANDLER_OBJECT ; #line 84 typedef struct _BUS_HANDLER ; #line 143 typedef union _SLIST_HEADER ; #line 204 typedef CCHAR ; typedef enum _MODE ; #line 222 struct _KAPC ; typedef void ; #line 232 typedef void ; #line 242 typedef void ; #line 248 typedef BOOLEAN ; #line 254 typedef BOOLEAN ; #line 265 typedef struct _KAPC ; #line 292 struct _KDPC ; typedef void ; #line 351 typedef enum _KDPC_IMPORTANCE ; #line 361 typedef struct _KDPC ; #line 377 typedef PVOID ; typedef void ; #line 392 typedef struct _KIPI_COUNTS ; #line 443 typedef struct _MDL ; #line 532 typedef PVOID ; #line 538 typedef PVOID ; #line 544 typedef PVOID ; typedef ULONG ; #line 547 typedef ACCESS_MASK ; #line 597 typedef struct _GENERIC_MAPPING ; #line 603 typedef GENERIC_MAPPING ; #line 24 "C:/NTDDK/inc/pshpack4.h" #pragma warning(disable:4103) #pragma pack(push, 4) #line 618 "C:/NTDDK/inc/ddk/ntddk.h" typedef struct _LUID_AND_ATTRIBUTES ; #line 622 typedef LUID_AND_ATTRIBUTES ; #line 623 typedef LUID_AND_ATTRIBUTES_ARRAY ; #line 27 "C:/NTDDK/inc/poppack.h" #pragma warning(disable:4103) #pragma pack(pop) #line 642 "C:/NTDDK/inc/ddk/ntddk.h" typedef struct _ACL ; #line 649 typedef ACL ; #line 681 typedef struct _PRIVILEGE_SET ; #line 735 typedef enum _SECURITY_IMPERSONATION_LEVEL ; #line 753 typedef BOOLEAN ; #line 762 typedef struct _SECURITY_QUALITY_OF_SERVICE ; #line 774 typedef struct _SE_IMPERSONATION_STATE ; #line 782 typedef ULONG ; #line 809 typedef ULONG ; #line 810 typedef KAFFINITY ; #line 816 typedef LONG ; #line 824 typedef ULONG_PTR ; #line 825 typedef KSPIN_LOCK ; #line 833 typedef void ; #line 842 typedef enum _KPROFILE_SOURCE ; #line 1079 typedef NTSTATUS ; #line 1088 typedef struct _RTL_QUERY_REGISTRY_TABLE ; #line 1952 #pragma warning(push) #pragma warning(disable:4035) #line 2019 #pragma warning(pop) #line 2214 typedef struct _TIME_FIELDS ; #line 2224 typedef TIME_FIELDS ; #line 2499 typedef struct _RTL_BITMAP ; #line 2503 typedef RTL_BITMAP ; #line 2627 typedef struct _RTL_BITMAP_RUN ; #line 2633 typedef RTL_BITMAP_RUN ; #line 2886 typedef struct _RTL_RANGE ; #line 2924 typedef struct _RTL_RANGE_LIST ; #line 2950 typedef struct _RANGE_LIST_ITERATOR ; #line 3019 typedef BOOLEAN ; #line 3155 typedef struct _OSVERSIONINFOA ; #line 3164 typedef struct _OSVERSIONINFOW ; #line 3177 typedef OSVERSIONINFOA ; #line 3178 typedef POSVERSIONINFOA ; #line 3179 typedef LPOSVERSIONINFOA ; #line 3182 typedef struct _OSVERSIONINFOEXA ; #line 3195 typedef struct _OSVERSIONINFOEXW ; #line 3213 typedef OSVERSIONINFOEXA ; #line 3214 typedef POSVERSIONINFOEXA ; #line 3215 typedef LPOSVERSIONINFOEXA ; #line 3648 typedef struct _IO_STATUS_BLOCK ; #line 3669 typedef void ; #line 3685 typedef enum _FILE_INFORMATION_CLASS ; #line 3731 typedef struct _FILE_BASIC_INFORMATION ; #line 3739 typedef struct _FILE_STANDARD_INFORMATION ; #line 3747 typedef struct _FILE_POSITION_INFORMATION ; #line 3751 typedef struct _FILE_ALIGNMENT_INFORMATION ; #line 3755 typedef struct _FILE_NAME_INFORMATION ; #line 3760 typedef struct _FILE_NETWORK_OPEN_INFORMATION ; #line 3770 typedef struct _FILE_ATTRIBUTE_TAG_INFORMATION ; #line 3775 typedef struct _FILE_DISPOSITION_INFORMATION ; #line 3779 typedef struct _FILE_END_OF_FILE_INFORMATION ; #line 3784 typedef struct _FILE_FULL_EA_INFORMATION ; #line 3798 typedef enum _FSINFOCLASS ; #line 3810 typedef struct _FILE_FS_DEVICE_INFORMATION ; #line 3820 typedef union _FILE_SEGMENT_ELEMENT ; #line 3829 typedef enum _INTERFACE_TYPE ; #line 3854 typedef enum _DMA_WIDTH ; #line 3865 typedef enum _DMA_SPEED ; #line 3879 typedef void ; #line 3880 typedef void ; #line 3888 typedef enum _BUS_DATA_TYPE ; #line 3910 typedef struct _IO_ERROR_LOG_PACKET ; #line 3931 typedef struct _IO_ERROR_LOG_MESSAGE ; #line 4074 typedef struct _KEY_BASIC_INFORMATION ; #line 4081 typedef struct _KEY_NODE_INFORMATION ; #line 4091 typedef struct _KEY_FULL_INFORMATION ; #line 4106 typedef struct _KEY_NAME_INFORMATION ; #line 4112 typedef enum _KEY_INFORMATION_CLASS ; #line 4122 typedef struct _KEY_WRITE_TIME_INFORMATION ; #line 4126 typedef enum _KEY_SET_INFORMATION_CLASS ; #line 4134 typedef struct _KEY_VALUE_BASIC_INFORMATION ; #line 4141 typedef struct _KEY_VALUE_FULL_INFORMATION ; #line 4151 typedef struct _KEY_VALUE_PARTIAL_INFORMATION ; #line 4158 typedef struct _KEY_VALUE_PARTIAL_INFORMATION_ALIGN64 ; #line 4164 typedef struct _KEY_VALUE_ENTRY ; #line 4171 typedef enum _KEY_VALUE_INFORMATION_CLASS ; #line 4210 typedef struct _OBJECT_NAME_INFORMATION ; #line 4221 typedef enum _SECTION_INHERIT ; #line 4294 typedef struct _CLIENT_ID ; #line 4298 typedef CLIENT_ID ; #line 4315 typedef struct _NT_TIB ; #line 4327 typedef NT_TIB ; #line 4332 typedef enum _PROCESSINFOCLASS ; #line 4366 typedef enum _THREADINFOCLASS ; #line 4395 typedef struct _PROCESS_WS_WATCH_INFORMATION ; #line 4405 typedef struct _PROCESS_BASIC_INFORMATION ; #line 4413 typedef PROCESS_BASIC_INFORMATION ; #line 4422 typedef struct _PROCESS_DEVICEMAP_INFORMATION ; #line 4440 typedef struct _PROCESS_SESSION_INFORMATION ; #line 4454 typedef struct _QUOTA_LIMITS ; #line 4462 typedef QUOTA_LIMITS ; #line 4472 typedef struct _IO_COUNTERS ; #line 4480 typedef IO_COUNTERS ; #line 4488 typedef struct _VM_COUNTERS ; #line 4501 typedef VM_COUNTERS ; #line 4508 typedef struct _POOLED_USAGE_AND_LIMITS ; #line 4519 typedef POOLED_USAGE_AND_LIMITS ; #line 4528 typedef struct _PROCESS_ACCESS_TOKEN ; #line 4555 typedef struct _KERNEL_USER_TIMES ; #line 4561 typedef KERNEL_USER_TIMES ; #line 4587 typedef enum _SYSTEM_POWER_STATE ; #line 4598 typedef enum { PowerActionNone = 0, PowerActionReserved, PowerActionSleep, PowerActionHibernate, PowerActionShutdown, PowerActionShutdownReset, PowerActionShutdownOff, PowerActionWarmEject } ; typedef enum _DEVICE_POWER_STATE ; #line 4618 typedef union _POWER_STATE ; #line 4623 typedef enum _POWER_STATE_TYPE ; #line 4654 typedef ULONG ; typedef enum { LT_DONT_CARE, LT_LOWEST_LATENCY } ; #line 4663 typedef enum { SystemPowerPolicyAc, SystemPowerPolicyDc, VerifySystemPolicyAc, VerifySystemPolicyDc, SystemPowerCapabilities, SystemBatteryState, SystemPowerStateHandler, ProcessorStateHandler, SystemPowerPolicyCurrent, AdministratorPowerPolicy, SystemReserveHiberFile, ProcessorInformation, SystemPowerInformation } ; #line 4690 typedef ULONG ; typedef LONG ; #line 4693 typedef ULONG ; #line 4719 typedef union _MCI_STATS ; #line 4978 typedef struct _KPCR ; #line 5006 typedef KPCR ; #line 5012 typedef struct _KFLOATING_SAVE ; #line 5153 typedef enum _INTERLOCKED_RESULT ; #line 5252 #pragma warning(disable:4035) #line 6994 typedef struct _KSYSTEM_TIME ; #line 7014 #pragma warning(push) #pragma warning(disable:4164) #line 7019 #pragma function(_enable) #line 7020 #pragma function(_disable) #line 7024 #pragma warning(pop) #line 7085 typedef struct _FLOATING_SAVE_AREA ; #line 7097 typedef FLOATING_SAVE_AREA ; #line 7109 typedef struct _CONTEXT ; #line 7197 typedef CONTEXT ; #line 7826 typedef void ; #line 7850 typedef enum _ALTERNATIVE_ARCHITECTURE_TYPE ; #line 7899 typedef struct _KUSER_SHARED_DATA ; #line 8123 typedef enum _CM_SERVICE_NODE_TYPE ; #line 8132 typedef enum _CM_SERVICE_LOAD_TYPE ; #line 8140 typedef enum _CM_ERROR_CONTROL_TYPE ; #line 8172 typedef int ; #line 8198 typedef enum _CM_SHARE_DISPOSITION ; #line 8211 typedef PVOID ; #line 24 "C:/NTDDK/inc/pshpack4.h" #pragma warning(disable:4103) #pragma pack(push, 4) #line 8309 "C:/NTDDK/inc/ddk/ntddk.h" typedef struct _CM_PARTIAL_RESOURCE_DESCRIPTOR ; #line 27 "C:/NTDDK/inc/poppack.h" #pragma warning(disable:4103) #pragma pack(pop) #line 8419 "C:/NTDDK/inc/ddk/ntddk.h" typedef struct _CM_PARTIAL_RESOURCE_LIST ; #line 8443 typedef struct _CM_FULL_RESOURCE_DESCRIPTOR ; #line 8454 typedef struct _CM_RESOURCE_LIST ; #line 8471 typedef struct _DEVICE_FLAGS ; #line 8485 typedef struct _CM_COMPONENT_INFORMATION ; #line 8503 typedef struct _CM_ROM_BLOCK ; #line 24 "C:/NTDDK/inc/pshpack1.h" #pragma warning(disable:4103) #pragma pack(push, 1) #line 8518 "C:/NTDDK/inc/ddk/ntddk.h" typedef struct _CM_INT13_DRIVE_PARAMETER ; #line 8532 typedef struct _CM_MCA_POS_DATA ; #line 8544 typedef struct _EISA_MEMORY_TYPE ; #line 8554 typedef struct _EISA_MEMORY_CONFIGURATION ; #line 8567 typedef struct _EISA_IRQ_DESCRIPTOR ; #line 8575 typedef struct _EISA_IRQ_CONFIGURATION ; #line 8585 typedef struct _DMA_CONFIGURATION_BYTE0 ; #line 8592 typedef struct _DMA_CONFIGURATION_BYTE1 ; #line 8599 typedef struct _EISA_DMA_CONFIGURATION ; #line 8609 typedef struct _EISA_PORT_DESCRIPTOR ; #line 8616 typedef struct _EISA_PORT_CONFIGURATION ; #line 8628 typedef struct _CM_EISA_SLOT_INFORMATION ; #line 8644 typedef struct _CM_EISA_FUNCTION_INFORMATION ; #line 8678 typedef struct _CM_PNP_BIOS_DEVICE_NODE ; #line 8692 typedef struct _CM_PNP_BIOS_INSTALLATION_CHECK ; #line 27 "C:/NTDDK/inc/poppack.h" #pragma warning(disable:4103) #pragma pack(pop) #line 8761 "C:/NTDDK/inc/ddk/ntddk.h" typedef struct _CM_SCSI_DEVICE_DATA ; #line 8775 typedef struct _CM_VIDEO_DEVICE_DATA ; #line 8785 typedef struct _CM_SONIC_DEVICE_DATA ; #line 8796 typedef struct _CM_SERIAL_DEVICE_DATA ; #line 8810 typedef struct _CM_MONITOR_DEVICE_DATA ; #line 8844 typedef struct _CM_FLOPPY_DEVICE_DATA ; #line 8881 typedef struct _CM_KEYBOARD_DEVICE_DATA ; #line 8893 typedef struct _CM_DISK_GEOMETRY_DEVICE_DATA ; #line 8905 typedef struct _CM_PCCARD_DEVICE_DATA ; #line 8944 typedef struct _IO_RESOURCE_DESCRIPTOR ; #line 9027 typedef struct _IO_RESOURCE_LIST ; #line 9036 typedef struct _IO_RESOURCE_REQUIREMENTS_LIST ; #line 9065 typedef struct _EXCEPTION_RECORD ; #line 9074 typedef EXCEPTION_RECORD ; typedef struct _EXCEPTION_RECORD32 ; #line 9085 typedef struct _EXCEPTION_RECORD64 ; #line 9099 typedef struct _EXCEPTION_POINTERS ; #line 9111 typedef enum _CONFIGURATION_TYPE ; #line 9161 typedef enum _KINTERRUPT_MODE ; #line 9170 typedef enum _KWAIT_REASON ; #line 9207 typedef struct _DISPATCHER_HEADER ; #line 9217 typedef struct _KWAIT_BLOCK ; #line 9230 typedef void ; #line 9244 typedef struct _KDEVICE_QUEUE ; #line 9252 typedef struct _KDEVICE_QUEUE_ENTRY ; #line 9263 typedef struct _KEVENT ; #line 9271 typedef BOOLEAN ; #line 9281 typedef struct _KMUTANT ; #line 9294 typedef struct _KSEMAPHORE ; #line 9304 typedef struct _KTIMER ; #line 9899 typedef enum _KBUGCHECK_BUFFER_DUMP_STATE ; #line 9907 typedef void ; #line 9914 typedef struct _KBUGCHECK_CALLBACK_RECORD ; #line 10002 typedef void ; #line 10020 typedef LOGICAL ; #line 10037 typedef void ; #line 10053 typedef enum _MEMORY_CACHING_TYPE_ORIG ; #line 10057 typedef enum _MEMORY_CACHING_TYPE ; #line 10087 typedef struct _DBGKD_DEBUG_DATA_HEADER64 ; #line 10115 typedef enum _POOL_TYPE ; #line 10195 typedef enum _EX_POOL_PRIORITY ; #line 10247 typedef struct _FAST_MUTEX ; #line 10574 typedef PVOID ; #line 10582 typedef void ; #line 10588 typedef struct _GENERAL_LOOKASIDE ; #line 10619 typedef struct _NPAGED_LOOKASIDE_LIST ; #line 10729 typedef struct _PAGED_LOOKASIDE_LIST ; #line 10882 typedef enum _WORK_QUEUE_TYPE ; #line 10889 typedef void ; #line 10895 typedef struct _WORK_QUEUE_ITEM ; #line 10926 typedef struct _ZONE_SEGMENT_HEADER ; #line 10931 typedef struct _ZONE_HEADER ; #line 11156 typedef ULONG_PTR ; #line 11157 typedef ERESOURCE_THREAD ; typedef struct _OWNER_ENTRY ; #line 11168 typedef struct _ERESOURCE ; #line 11197 typedef struct _RESOURCE_HASH_ENTRY ; #line 11204 typedef struct _RESOURCE_PERFORMANCE_DATA ; #line 11429 typedef struct _CALLBACK_OBJECT ; typedef void ; #line 11474 typedef GUID ; #line 11862 typedef enum _MM_SYSTEM_SIZE ; #line 11884 typedef enum _LOCK_OPERATION ; #line 11970 typedef enum _MM_PAGE_PRIORITY ; #line 11999 typedef struct _PHYSICAL_MEMORY_RANGE ; #line 12385 typedef NTSTATUS ; #line 12389 typedef NTSTATUS ; #line 12399 struct _DRIVER_OBJECT ; #line 12411 typedef enum _SECURITY_OPERATION_CODE ; #line 12426 typedef struct _SECURITY_SUBJECT_CONTEXT ; #line 12448 typedef struct _INITIAL_PRIVILEGE_SET ; #line 12462 typedef struct _ACCESS_STATE ; #line 12571 typedef void ; #line 12585 typedef void ; #line 12602 typedef struct _IMAGE_INFO ; #line 12620 typedef void ; #line 12859 typedef NTSTATUS ; #line 12878 typedef enum _IO_QUERY_DEVICE_DATA_FORMAT ; #line 12890 typedef enum _CREATE_FILE_TYPE ; #line 12905 struct _DEVICE_DESCRIPTION ; #line 12906 struct _DEVICE_OBJECT ; #line 12907 struct _DMA_ADAPTER ; #line 12908 struct _DRIVER_OBJECT ; #line 12909 struct _DRIVE_LAYOUT_INFORMATION ; #line 12910 struct _DISK_PARTITION ; #line 12911 struct _FILE_OBJECT ; #line 12912 struct _IRP ; #line 12913 struct _SCSI_REQUEST_BLOCK ; #line 12919 typedef void ; #line 12932 typedef void ; #line 12943 typedef NTSTATUS ; #line 12955 typedef void ; #line 12968 typedef void ; #line 12979 typedef NTSTATUS ; #line 12990 typedef void ; #line 13001 typedef void ; #line 13011 typedef NTSTATUS ; #line 13025 typedef BOOLEAN ; #line 13038 typedef BOOLEAN ; #line 13051 typedef BOOLEAN ; #line 13068 typedef BOOLEAN ; #line 13078 typedef BOOLEAN ; #line 13092 typedef BOOLEAN ; #line 13106 typedef BOOLEAN ; #line 13118 typedef BOOLEAN ; #line 13127 typedef BOOLEAN ; #line 13141 typedef BOOLEAN ; #line 13161 typedef void ; #line 13167 typedef void ; #line 13179 typedef void ; #line 13193 typedef BOOLEAN ; #line 13207 typedef BOOLEAN ; #line 13219 typedef BOOLEAN ; #line 13227 typedef BOOLEAN ; #line 13239 typedef BOOLEAN ; #line 13253 typedef NTSTATUS ; #line 13262 typedef NTSTATUS ; #line 13275 typedef NTSTATUS ; #line 13282 typedef NTSTATUS ; #line 13289 typedef BOOLEAN ; #line 13304 typedef BOOLEAN ; #line 13319 typedef BOOLEAN ; #line 13327 typedef BOOLEAN ; #line 13336 typedef BOOLEAN ; #line 13350 typedef struct _FAST_IO_DISPATCH ; #line 13386 typedef enum _IO_ALLOCATION_ACTION ; #line 13396 typedef IO_ALLOCATION_ACTION ; #line 13410 typedef struct _IO_SECURITY_CONTEXT ; #line 13434 typedef struct _VPB ; #line 13482 typedef struct _ADAPTER_OBJECT ; #line 13491 typedef struct _WAIT_CONTEXT_BLOCK ; #line 13503 typedef struct _CONTROLLER_OBJECT ; #line 13537 typedef struct _DEVICE_OBJECT ; #line 13575 typedef struct _DEVICE_OBJECT ; #line 13578 struct _DEVICE_OBJECT_POWER_EXTENSION ; typedef struct _DEVOBJ_EXTENSION ; #line 13608 typedef struct _DRIVER_EXTENSION ; #line 13645 typedef struct _DRIVER_OBJECT ; #lin