1 // Copyright (c) 2004, Antony C. Roberts
2 
3 // Use of this file is subject to the terms
4 // described in the LICENSE.TXT file that
5 // accompanies this file.
6 //
7 // Your use of this file indicates your
8 // acceptance of the terms described in
9 // LICENSE.TXT.
10 //
11 // http://www.freebt.net
12 
13 #ifndef _FREEBT_WMI_H
14 #define _FREEBT_WMI_H
15 
16 //#define ENABLE_WMI
17 
18 NTSTATUS NTAPI FreeBT_WmiRegistration(IN OUT PDEVICE_EXTENSION DeviceExtension);
19 NTSTATUS NTAPI FreeBT_WmiDeRegistration(IN OUT PDEVICE_EXTENSION DeviceExtension);
20 NTSTATUS NTAPI FreeBT_DispatchSysCtrl(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp);
21 NTSTATUS NTAPI FreeBT_QueryWmiRegInfo(
22     IN PDEVICE_OBJECT DeviceObject,
23     OUT ULONG *RegFlags,
24     OUT PUNICODE_STRING InstanceName,
25     OUT PUNICODE_STRING *RegistryPath,
26     OUT PUNICODE_STRING MofResourceName,
27     OUT PDEVICE_OBJECT *Pdo);
28 
29 NTSTATUS NTAPI FreeBT_SetWmiDataItem(
30     IN PDEVICE_OBJECT DeviceObject,
31     IN PIRP           Irp,
32     IN ULONG          GuidIndex,
33     IN ULONG          InstanceIndex,
34     IN ULONG          DataItemId,
35     IN ULONG          BufferSize,
36     IN PUCHAR         Buffer);
37 
38 NTSTATUS NTAPI FreeBT_SetWmiDataBlock(
39     IN PDEVICE_OBJECT DeviceObject,
40     IN PIRP           Irp,
41     IN ULONG          GuidIndex,
42     IN ULONG          InstanceIndex,
43     IN ULONG          BufferSize,
44     IN PUCHAR         Buffer);
45 
46 NTSTATUS NTAPI FreeBT_QueryWmiDataBlock(
47     IN PDEVICE_OBJECT DeviceObject,
48     IN PIRP           Irp,
49     IN ULONG          GuidIndex,
50     IN ULONG          InstanceIndex,
51     IN ULONG          InstanceCount,
52     IN OUT PULONG     InstanceLengthArray,
53     IN ULONG          OutBufferSize,
54     OUT PUCHAR        Buffer);
55 
56 PCHAR NTAPI WMIMinorFunctionString(UCHAR MinorFunction);
57 
58 #endif
59