1#define _WIN32_WINNT 0x0500
6#define DRIVER_NAME L"TestDriver"
8#define STATUS_SUCCESS ((NTSTATUS)0x00000000L)
9#define STATUS_PRIVILEGE_NOT_HELD ((NTSTATUS)0xC0000061L)
34#define SystemLoadGdiDriverInformation 26
35#define SystemExtendServiceTableInformation 38
39 IN ULONG SystemInformationLength );
BOOL RegisterDriver(LPCWSTR lpDriverName, LPCWSTR lpPathName)
NTSYSAPI NTSTATUS NTAPI NtSetSystemInformation(IN INT SystemInformationClass, IN PVOID SystemInformation, IN ULONG SystemInformationLength)
struct _SYSTEM_GDI_DRIVER_INFORMATION SYSTEM_GDI_DRIVER_INFORMATION
BOOL NtStopDriver(LPCWSTR lpService)
NTSTATUS NtUnloadDriver(IN PUNICODE_STRING DriverServiceName)
BOOL StartDriver(LPCWSTR lpDriverName)
BOOL ConvertPath(LPCWSTR lpPath, LPWSTR lpDevice)
BOOL LoadVia_SystemExtendServiceTableInformation(LPWSTR lpDriverPath)
_OBJECT_INFORMATION_CLASS
@ ObjectAllTypesInformation
@ ObjectHandleInformation
struct _OBJECT_NAME_INFORMATION OBJECT_NAME_INFORMATION
struct _OBJECT_NAME_INFORMATION * POBJECT_NAME_INFORMATION
BOOL StopDriver(LPCWSTR lpDriverName)
BOOL NtStartDriver(LPCWSTR lpService)
enum _OBJECT_INFORMATION_CLASS OBJECT_INFO_CLASS
BOOL LoadVia_SystemLoadGdiDriverInformation(LPWSTR lpDriverPath)
BOOL UnregisterDriver(LPCWSTR lpDriverName)
NTSTATUS NtQueryObject(IN HANDLE Handle, IN OBJECT_INFO_CLASS ObjectInformationClass, OUT PVOID ObjectInformation, IN ULONG ObjectInformationLength, OUT PULONG ReturnLength)
struct _SYSTEM_GDI_DRIVER_INFORMATION * PSYSTEM_GDI_DRIVER_INFORMATION
IN CINT ObjectInformationClass
IN CINT OUT PVOID ObjectInformation
IN CINT OUT PVOID IN ULONG OUT PULONG ReturnLength
_In_ OBJECT_INFORMATION_CLASS _In_ ULONG ObjectInformationLength