[NTOSKRNL] Implement ObSetDirectoryDeviceMap
[reactos.git] / ntoskrnl / wmi / wmip.h
1
2 #pragma once
3
4 extern POBJECT_TYPE WmipGuidObjectType;
5
6 #define GUID_STRING_LENGTH 36
7
8 typedef struct _WMIP_IRP_CONTEXT
9 {
10 LIST_ENTRY GuidObjectListHead;
11 } WMIP_IRP_CONTEXT, *PWMIP_IRP_CONTEXT;
12
13 typedef struct _WMIP_GUID_OBJECT
14 {
15 GUID Guid;
16 PIRP Irp;
17 LIST_ENTRY IrpLink;
18 } WMIP_GUID_OBJECT, *PWMIP_GUID_OBJECT;
19
20
21 _Function_class_(DRIVER_INITIALIZE)
22 _IRQL_requires_same_
23 NTSTATUS
24 NTAPI
25 WmipDriverEntry(
26 _In_ PDRIVER_OBJECT DriverObject,
27 _In_ PUNICODE_STRING RegistryPath);
28
29 NTSTATUS
30 NTAPI
31 WmipInitializeGuidObjectType(
32 VOID);
33
34 NTSTATUS
35 NTAPI
36 WmipOpenGuidObject(
37 _In_ LPCGUID Guid,
38 _In_ ACCESS_MASK DesiredAccess,
39 _In_ KPROCESSOR_MODE AccessMode,
40 _Out_ PHANDLE OutGuidObjectHandle,
41 _Outptr_ PVOID *OutGuidObject);
42
43 NTSTATUS
44 NTAPI
45 WmipOpenGuidObjectByName(
46 _In_ POBJECT_ATTRIBUTES ObjectAttributes,
47 _In_ ACCESS_MASK DesiredAccess,
48 _In_ KPROCESSOR_MODE AccessMode,
49 _Out_ PHANDLE OutGuidObjectHandle,
50 _Outptr_ PVOID *OutGuidObject);
51
52 NTSTATUS
53 NTAPI
54 WmipQueryRawSMBiosTables(
55 _Inout_ ULONG *InOutBufferSize,
56 _Out_opt_ PVOID OutBuffer);
57