2014-02-22 18:02:10 +00:00
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
2015-03-19 21:31:20 +00:00
|
|
|
extern POBJECT_TYPE WmipGuidObjectType;
|
|
|
|
|
2014-02-23 14:22:32 +00:00
|
|
|
#define GUID_STRING_LENGTH 36
|
|
|
|
|
2015-03-19 10:47:36 +00:00
|
|
|
typedef struct _WMIP_IRP_CONTEXT
|
|
|
|
{
|
|
|
|
LIST_ENTRY GuidObjectListHead;
|
|
|
|
} WMIP_IRP_CONTEXT, *PWMIP_IRP_CONTEXT;
|
|
|
|
|
2014-02-22 20:07:10 +00:00
|
|
|
typedef struct _WMIP_GUID_OBJECT
|
|
|
|
{
|
2020-01-28 18:52:55 +00:00
|
|
|
KEVENT Event;
|
2014-02-22 20:07:10 +00:00
|
|
|
GUID Guid;
|
2015-03-19 10:47:36 +00:00
|
|
|
PIRP Irp;
|
|
|
|
LIST_ENTRY IrpLink;
|
2014-02-22 20:07:10 +00:00
|
|
|
} WMIP_GUID_OBJECT, *PWMIP_GUID_OBJECT;
|
|
|
|
|
2014-02-22 18:02:10 +00:00
|
|
|
|
|
|
|
_Function_class_(DRIVER_INITIALIZE)
|
|
|
|
_IRQL_requires_same_
|
|
|
|
NTSTATUS
|
|
|
|
NTAPI
|
|
|
|
WmipDriverEntry(
|
|
|
|
_In_ PDRIVER_OBJECT DriverObject,
|
|
|
|
_In_ PUNICODE_STRING RegistryPath);
|
|
|
|
|
2014-02-22 20:07:10 +00:00
|
|
|
NTSTATUS
|
|
|
|
NTAPI
|
|
|
|
WmipInitializeGuidObjectType(
|
|
|
|
VOID);
|
|
|
|
|
|
|
|
NTSTATUS
|
|
|
|
NTAPI
|
|
|
|
WmipOpenGuidObject(
|
2015-03-19 21:31:20 +00:00
|
|
|
_In_ LPCGUID Guid,
|
|
|
|
_In_ ACCESS_MASK DesiredAccess,
|
|
|
|
_In_ KPROCESSOR_MODE AccessMode,
|
|
|
|
_Out_ PHANDLE OutGuidObjectHandle,
|
|
|
|
_Outptr_ PVOID *OutGuidObject);
|
|
|
|
|
|
|
|
NTSTATUS
|
|
|
|
NTAPI
|
|
|
|
WmipOpenGuidObjectByName(
|
|
|
|
_In_ POBJECT_ATTRIBUTES ObjectAttributes,
|
|
|
|
_In_ ACCESS_MASK DesiredAccess,
|
|
|
|
_In_ KPROCESSOR_MODE AccessMode,
|
|
|
|
_Out_ PHANDLE OutGuidObjectHandle,
|
|
|
|
_Outptr_ PVOID *OutGuidObject);
|
|
|
|
|
|
|
|
NTSTATUS
|
|
|
|
NTAPI
|
|
|
|
WmipQueryRawSMBiosTables(
|
|
|
|
_Inout_ ULONG *InOutBufferSize,
|
|
|
|
_Out_opt_ PVOID OutBuffer);
|
|
|
|
|