ReactOS  0.4.14-dev-317-g96040ec
fbtwmi.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

NTSTATUS NTAPI FreeBT_WmiRegistration (IN OUT PDEVICE_EXTENSION DeviceExtension)
 
NTSTATUS NTAPI FreeBT_WmiDeRegistration (IN OUT PDEVICE_EXTENSION DeviceExtension)
 
NTSTATUS NTAPI FreeBT_DispatchSysCtrl (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
 
NTSTATUS NTAPI FreeBT_QueryWmiRegInfo (IN PDEVICE_OBJECT DeviceObject, OUT ULONG *RegFlags, OUT PUNICODE_STRING InstanceName, OUT PUNICODE_STRING *RegistryPath, OUT PUNICODE_STRING MofResourceName, OUT PDEVICE_OBJECT *Pdo)
 
NTSTATUS NTAPI FreeBT_SetWmiDataItem (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN ULONG GuidIndex, IN ULONG InstanceIndex, IN ULONG DataItemId, IN ULONG BufferSize, IN PUCHAR Buffer)
 
NTSTATUS NTAPI FreeBT_SetWmiDataBlock (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN ULONG GuidIndex, IN ULONG InstanceIndex, IN ULONG BufferSize, IN PUCHAR Buffer)
 
NTSTATUS NTAPI FreeBT_QueryWmiDataBlock (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN ULONG GuidIndex, IN ULONG InstanceIndex, IN ULONG InstanceCount, IN OUT PULONG InstanceLengthArray, IN ULONG OutBufferSize, OUT PUCHAR Buffer)
 
PCHAR NTAPI WMIMinorFunctionString (UCHAR MinorFunction)
 

Function Documentation

◆ FreeBT_DispatchSysCtrl()

NTSTATUS NTAPI FreeBT_DispatchSysCtrl ( IN PDEVICE_OBJECT  DeviceObject,
IN PIRP  Irp 
)

Definition at line 66 of file fbtwmi.c.

67 {
68  PDEVICE_EXTENSION deviceExtension;
69  SYSCTL_IRP_DISPOSITION disposition;
70  NTSTATUS ntStatus;
71  PIO_STACK_LOCATION irpStack;
72 
73  PAGED_CODE();
74 
75  irpStack = IoGetCurrentIrpStackLocation (Irp);
76  deviceExtension = (PDEVICE_EXTENSION) DeviceObject->DeviceExtension;
77 
78  FreeBT_DbgPrint(3, ("FBTUSB: "));
80  if (Removed == deviceExtension->DeviceState)
81  {
82  ntStatus = STATUS_DELETE_PENDING;
83 
84  Irp->IoStatus.Status = ntStatus;
85  Irp->IoStatus.Information = 0;
87 
88  return ntStatus;
89 
90  }
91 
92  FreeBT_DbgPrint(3, ("FBTUSB: FreeBT_DispatchSysCtrl::"));
93  FreeBT_IoIncrement(deviceExtension);
94 
95  ntStatus = WmiSystemControl(&deviceExtension->WmiLibInfo,
97  Irp,
98  &disposition);
99 
100  switch(disposition)
101  {
102  case IrpProcessed:
103  {
104  // This irp has been processed and may be completed or pending.
105  break;
106 
107  }
108 
109  case IrpNotCompleted:
110  {
111  // This irp has not been completed, but has been fully processed.
112  // we will complete it now
114  break;
115 
116  }
117 
118  case IrpForward:
119  case IrpNotWmi:
120  {
121  // This irp is either not a WMI irp or is a WMI irp targeted
122  // at a device lower in the stack.
124  ntStatus = IoCallDriver(deviceExtension->TopOfStackDeviceObject, Irp);
125  break;
126  }
127 
128  default:
129  {
130  // We really should never get here, but if we do just forward....
131  ASSERT(FALSE);
133  ntStatus = IoCallDriver(deviceExtension->TopOfStackDeviceObject, Irp);
134  break;
135 
136  }
137 
138  }
139 
140  FreeBT_DbgPrint(3, ("FBTUSB: FreeBT_DispatchSysCtrl::"));
141  FreeBT_IoDecrement(deviceExtension);
142 
143  return ntStatus;
144 
145 }
LONG NTAPI FreeBT_IoDecrement(IN OUT PDEVICE_EXTENSION DeviceExtension)
Definition: fbtpnp.c:1742
#define STATUS_DELETE_PENDING
Definition: ntstatus.h:308
_In_ PIRP Irp
Definition: csq.h:116
NTSTATUS NTAPI WmiSystemControl(IN PWMILIB_CONTEXT WmiLibInfo, IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, OUT PSYSCTL_IRP_DISPOSITION IrpDisposition)
Definition: wmilib.c:48
LONG NTSTATUS
Definition: precomp.h:26
LONG NTAPI FreeBT_IoIncrement(IN OUT PDEVICE_EXTENSION DeviceExtension)
Definition: fbtpnp.c:1722
PCHAR NTAPI WMIMinorFunctionString(UCHAR MinorFunction)
Definition: fbtwmi.c:509
#define PAGED_CODE()
Definition: video.h:57
PVOID DeviceExtension
Definition: env_spec_w32.h:418
#define FreeBT_DbgPrint(level, _x_)
Definition: fbtusb.h:55
#define IoCompleteRequest
Definition: irp.c:1240
enum _SYSCTL_IRP_DISPOSITION SYSCTL_IRP_DISPOSITION
ASSERT((InvokeOnSuccess||InvokeOnError||InvokeOnCancel) ?(CompletionRoutine !=NULL) :TRUE)
IN PDEVICE_OBJECT DeviceObject
Definition: fatprocs.h:1560
__drv_aliasesMem FORCEINLINE PIO_STACK_LOCATION IoGetCurrentIrpStackLocation(_In_ PIRP Irp)
Definition: iofuncs.h:2745
NTSTATUS NTAPI IoCallDriver(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
Definition: irp.c:1218
#define IoSkipCurrentIrpStackLocation(Irp)
Definition: ntifs_ex.h:421
#define IO_NO_INCREMENT
Definition: iotypes.h:566
Definition: fbtusb.h:86
struct _BEEP_DEVICE_EXTENSION * PDEVICE_EXTENSION

Referenced by DriverEntry().

◆ FreeBT_QueryWmiDataBlock()

NTSTATUS NTAPI FreeBT_QueryWmiDataBlock ( IN PDEVICE_OBJECT  DeviceObject,
IN PIRP  Irp,
IN ULONG  GuidIndex,
IN ULONG  InstanceIndex,
IN ULONG  InstanceCount,
IN OUT PULONG  InstanceLengthArray,
IN ULONG  OutBufferSize,
OUT PUCHAR  Buffer 
)

Definition at line 217 of file fbtwmi.c.

267 {
268  PDEVICE_EXTENSION deviceExtension;
269  NTSTATUS ntStatus;
270  ULONG size;
271  WCHAR modelName[] = L"Aishverya\0\0";
272  USHORT modelNameLen;
273 
274  PAGED_CODE();
275 
276  FreeBT_DbgPrint(3, ("FBTUSB: FreeBT_QueryWmiDataBlock: Entered\n"));
277 
278  size = 0;
279  modelNameLen = (wcslen(modelName) + 1) * sizeof(WCHAR);
280 
281  // Only ever registers 1 instance per guid
282  ASSERT((InstanceIndex == 0) && (InstanceCount == 1));
283 
284  deviceExtension = (PDEVICE_EXTENSION) DeviceObject->DeviceExtension;
285  switch (GuidIndex)
286  {
288  size = sizeof(ULONG) + modelNameLen + sizeof(USHORT);
289  if (OutBufferSize < size )
290  {
291  FreeBT_DbgPrint(3, ("FBTUSB: OutBuffer too small\n"));
292  ntStatus = STATUS_BUFFER_TOO_SMALL;
293  break;
294 
295  }
296 
297  * (PULONG) Buffer = DebugLevel;
298  Buffer += sizeof(ULONG);
299 
300  // put length of string ahead of string
301  *((PUSHORT)Buffer) = modelNameLen;
302  Buffer = (PUCHAR)Buffer + sizeof(USHORT);
303  RtlCopyBytes((PVOID)Buffer, (PVOID)modelName, modelNameLen);
304  *InstanceLengthArray = size ;
305 
306  ntStatus = STATUS_SUCCESS;
307  break;
308 
309  default:
310  ntStatus = STATUS_WMI_GUID_NOT_FOUND;
311 
312  }
313 
314  ntStatus = WmiCompleteRequest(DeviceObject,
315  Irp,
316  ntStatus,
317  size,
319 
320  FreeBT_DbgPrint(3, ("FBTUSB: FreeBT_QueryWmiDataBlock: Leaving\n"));
321 
322  return ntStatus;
323 
324 }
#define STATUS_WMI_GUID_NOT_FOUND
Definition: ntstatus.h:762
_In_ PIRP Irp
Definition: csq.h:116
unsigned char * PUCHAR
Definition: retypes.h:3
LONG NTSTATUS
Definition: precomp.h:26
_In_ LPGUID _In_ ULONG InstanceIndex
Definition: classpnp.h:1057
_In_ PIRP _In_ ULONG _In_ ULONG _In_ ULONG _In_ ULONG OutBufferSize
Definition: classpnp.h:429
NTSTATUS NTAPI WmiCompleteRequest(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN NTSTATUS Status, IN ULONG BufferUsed, IN CCHAR PriorityBoost)
Definition: wmilib.c:24
ULONG DebugLevel
Definition: fbtusb.c:26
#define PAGED_CODE()
Definition: video.h:57
#define STATUS_BUFFER_TOO_SMALL
Definition: shellext.h:69
#define RtlCopyBytes
Definition: rtlfuncs.h:282
PVOID DeviceExtension
Definition: env_spec_w32.h:418
#define FreeBT_DbgPrint(level, _x_)
Definition: fbtusb.h:55
_In_ PIRP _In_ ULONG GuidIndex
Definition: classpnp.h:401
Definition: bufpool.h:45
switch(r->id)
Definition: btrfs.c:2904
GLsizeiptr size
Definition: glext.h:5919
__wchar_t WCHAR
Definition: xmlstorage.h:180
ASSERT((InvokeOnSuccess||InvokeOnError||InvokeOnCancel) ?(CompletionRoutine !=NULL) :TRUE)
static const WCHAR L[]
Definition: oid.c:1250
IN PDEVICE_OBJECT DeviceObject
Definition: fatprocs.h:1560
unsigned short USHORT
Definition: pedump.c:61
unsigned int * PULONG
Definition: retypes.h:1
unsigned int ULONG
Definition: retypes.h:1
#define IO_NO_INCREMENT
Definition: iotypes.h:566
_In_ ULONG InstanceCount
Definition: iofuncs.h:1319
#define WMI_FREEBT_DRIVER_INFORMATION
Definition: fbtwmi.c:24
return STATUS_SUCCESS
Definition: btrfs.c:2938
struct _BEEP_DEVICE_EXTENSION * PDEVICE_EXTENSION
size_t __cdecl wcslen(_In_z_ const wchar_t *_Str)
unsigned short * PUSHORT
Definition: retypes.h:2

Referenced by FreeBT_WmiRegistration().

◆ FreeBT_QueryWmiRegInfo()

NTSTATUS NTAPI FreeBT_QueryWmiRegInfo ( IN PDEVICE_OBJECT  DeviceObject,
OUT ULONG RegFlags,
OUT PUNICODE_STRING  InstanceName,
OUT PUNICODE_STRING RegistryPath,
OUT PUNICODE_STRING  MofResourceName,
OUT PDEVICE_OBJECT Pdo 
)

Definition at line 147 of file fbtwmi.c.

197 {
198  PDEVICE_EXTENSION deviceExtension;
199 
200  PAGED_CODE();
201 
202  FreeBT_DbgPrint(3, ("FBTUSB: FreeBT_QueryWmiRegInfo: Entered\n"));
203 
204  deviceExtension = (PDEVICE_EXTENSION) DeviceObject->DeviceExtension;
205 
207  *RegistryPath = &Globals.FreeBT_RegistryPath;
208  *Pdo = deviceExtension->PhysicalDeviceObject;
210 
211  FreeBT_DbgPrint(3, ("FBTUSB: FreeBT_QueryWmiRegInfo: Leaving\n"));
212 
213  return STATUS_SUCCESS;
214 
215 }
_In_ PDEVICE_OBJECT Pdo
Definition: classpnp.h:301
#define PAGED_CODE()
Definition: video.h:57
CLIPBOARD_GLOBALS Globals
Definition: clipbrd.c:13
PVOID DeviceExtension
Definition: env_spec_w32.h:418
#define FreeBT_DbgPrint(level, _x_)
Definition: fbtusb.h:55
_Out_ ULONG * RegFlags
Definition: classpnp.h:386
_Out_ ULONG _Out_ PUNICODE_STRING _Out_ PUNICODE_STRING MofResourceName
Definition: classpnp.h:386
#define WMIREG_FLAG_INSTANCE_PDO
Definition: wmistr.h:69
#define MOFRESOURCENAME
Definition: fbtwmi.c:22
IN PDEVICE_OBJECT DeviceObject
Definition: fatprocs.h:1560
NTSYSAPI VOID NTAPI RtlInitUnicodeString(PUNICODE_STRING DestinationString, PCWSTR SourceString)
_In_ PUNICODE_STRING RegistryPath
Definition: wmip.h:27
return STATUS_SUCCESS
Definition: btrfs.c:2938
struct _BEEP_DEVICE_EXTENSION * PDEVICE_EXTENSION

Referenced by FreeBT_WmiRegistration().

◆ FreeBT_SetWmiDataBlock()

NTSTATUS NTAPI FreeBT_SetWmiDataBlock ( IN PDEVICE_OBJECT  DeviceObject,
IN PIRP  Irp,
IN ULONG  GuidIndex,
IN ULONG  InstanceIndex,
IN ULONG  BufferSize,
IN PUCHAR  Buffer 
)

Definition at line 427 of file fbtwmi.c.

461 {
462  PDEVICE_EXTENSION deviceExtension;
463  NTSTATUS ntStatus;
464  ULONG info;
465 
466  PAGED_CODE();
467 
468  FreeBT_DbgPrint(3, ("FBTUSB: FreeBT_SetWmiDataBlock: Entered\n"));
469 
470  deviceExtension = (PDEVICE_EXTENSION) DeviceObject->DeviceExtension;
471  info = 0;
472 
473  switch(GuidIndex)
474  {
476  if(BufferSize == sizeof(ULONG))
477  {
478  DebugLevel = *(PULONG) Buffer;
479  ntStatus = STATUS_SUCCESS;
480  info = sizeof(ULONG);
481 
482  }
483 
484  else
485  {
486  ntStatus = STATUS_INFO_LENGTH_MISMATCH;
487 
488  }
489 
490  break;
491 
492  default:
493  ntStatus = STATUS_WMI_GUID_NOT_FOUND;
494 
495  }
496 
497  ntStatus = WmiCompleteRequest(DeviceObject,
498  Irp,
499  ntStatus,
500  info,
502 
503  FreeBT_DbgPrint(3, ("FBTUSB: FreeBT_SetWmiDataBlock: Leaving\n"));
504 
505  return ntStatus;
506 
507 }
#define STATUS_INFO_LENGTH_MISMATCH
Definition: udferr_usr.h:133
#define STATUS_WMI_GUID_NOT_FOUND
Definition: ntstatus.h:762
_In_ PIRP Irp
Definition: csq.h:116
LONG NTSTATUS
Definition: precomp.h:26
NTSTATUS NTAPI WmiCompleteRequest(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN NTSTATUS Status, IN ULONG BufferUsed, IN CCHAR PriorityBoost)
Definition: wmilib.c:24
ULONG DebugLevel
Definition: fbtusb.c:26
#define PAGED_CODE()
Definition: video.h:57
struct _test_info info[]
Definition: SetCursorPos.c:19
PVOID DeviceExtension
Definition: env_spec_w32.h:418
#define FreeBT_DbgPrint(level, _x_)
Definition: fbtusb.h:55
_In_ PIRP _In_ ULONG GuidIndex
Definition: classpnp.h:401
Definition: bufpool.h:45
#define BufferSize
Definition: classpnp.h:419
IN PDEVICE_OBJECT DeviceObject
Definition: fatprocs.h:1560
unsigned int * PULONG
Definition: retypes.h:1
unsigned int ULONG
Definition: retypes.h:1
#define IO_NO_INCREMENT
Definition: iotypes.h:566
#define WMI_FREEBT_DRIVER_INFORMATION
Definition: fbtwmi.c:24
return STATUS_SUCCESS
Definition: btrfs.c:2938
struct _BEEP_DEVICE_EXTENSION * PDEVICE_EXTENSION

Referenced by FreeBT_WmiRegistration().

◆ FreeBT_SetWmiDataItem()

NTSTATUS NTAPI FreeBT_SetWmiDataItem ( IN PDEVICE_OBJECT  DeviceObject,
IN PIRP  Irp,
IN ULONG  GuidIndex,
IN ULONG  InstanceIndex,
IN ULONG  DataItemId,
IN ULONG  BufferSize,
IN PUCHAR  Buffer 
)

Definition at line 327 of file fbtwmi.c.

369 {
370  PDEVICE_EXTENSION deviceExtension;
371  NTSTATUS ntStatus;
372  ULONG info;
373 
374  PAGED_CODE();
375 
376  FreeBT_DbgPrint(3, ("FBTUSB: FreeBT_SetWmiDataItem: Entered\n"));
377 
378  deviceExtension = (PDEVICE_EXTENSION) DeviceObject->DeviceExtension;
379  info = 0;
380 
381  switch(GuidIndex)
382  {
384  if(DataItemId == 1)
385  {
386  if(BufferSize == sizeof(ULONG))
387  {
388  DebugLevel = *((PULONG)Buffer);
389  ntStatus = STATUS_SUCCESS;
390  info = sizeof(ULONG);
391 
392  }
393 
394  else
395  {
396  ntStatus = STATUS_INFO_LENGTH_MISMATCH;
397 
398  }
399 
400  }
401 
402  else
403  {
404  ntStatus = STATUS_WMI_READ_ONLY;
405 
406  }
407 
408  break;
409 
410  default:
411  ntStatus = STATUS_WMI_GUID_NOT_FOUND;
412 
413  }
414 
415  ntStatus = WmiCompleteRequest(DeviceObject,
416  Irp,
417  ntStatus,
418  info,
420 
421  FreeBT_DbgPrint(3, ("FBTUSB: FreeBT_SetWmiDataItem: Leaving\n"));
422 
423  return ntStatus;
424 
425 }
#define STATUS_INFO_LENGTH_MISMATCH
Definition: udferr_usr.h:133
#define STATUS_WMI_GUID_NOT_FOUND
Definition: ntstatus.h:762
_In_ PIRP Irp
Definition: csq.h:116
_In_ PIRP _In_ ULONG _In_ ULONG DataItemId
Definition: classpnp.h:419
LONG NTSTATUS
Definition: precomp.h:26
NTSTATUS NTAPI WmiCompleteRequest(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN NTSTATUS Status, IN ULONG BufferUsed, IN CCHAR PriorityBoost)
Definition: wmilib.c:24
#define STATUS_WMI_READ_ONLY
Definition: ntstatus.h:804
ULONG DebugLevel
Definition: fbtusb.c:26
#define PAGED_CODE()
Definition: video.h:57
struct _test_info info[]
Definition: SetCursorPos.c:19
PVOID DeviceExtension
Definition: env_spec_w32.h:418
#define FreeBT_DbgPrint(level, _x_)
Definition: fbtusb.h:55
_In_ PIRP _In_ ULONG GuidIndex
Definition: classpnp.h:401
Definition: bufpool.h:45
#define BufferSize
Definition: classpnp.h:419
IN PDEVICE_OBJECT DeviceObject
Definition: fatprocs.h:1560
unsigned int * PULONG
Definition: retypes.h:1
unsigned int ULONG
Definition: retypes.h:1
#define IO_NO_INCREMENT
Definition: iotypes.h:566
#define WMI_FREEBT_DRIVER_INFORMATION
Definition: fbtwmi.c:24
return STATUS_SUCCESS
Definition: btrfs.c:2938
struct _BEEP_DEVICE_EXTENSION * PDEVICE_EXTENSION

Referenced by FreeBT_WmiRegistration().

◆ FreeBT_WmiDeRegistration()

NTSTATUS NTAPI FreeBT_WmiDeRegistration ( IN OUT PDEVICE_EXTENSION  DeviceExtension)

Definition at line 59 of file fbtwmi.c.

60 {
61  PAGED_CODE();
62  return IoWMIRegistrationControl(DeviceExtension->FunctionalDeviceObject, WMIREG_ACTION_DEREGISTER);
63 
64 }
#define WMIREG_ACTION_DEREGISTER
#define PAGED_CODE()
Definition: video.h:57
NTSTATUS NTAPI IoWMIRegistrationControl(IN PDEVICE_OBJECT DeviceObject, IN ULONG Action)
Definition: wmi.c:68

Referenced by FreeBT_AddDevice(), and HandleRemoveDevice().

◆ FreeBT_WmiRegistration()

NTSTATUS NTAPI FreeBT_WmiRegistration ( IN OUT PDEVICE_EXTENSION  DeviceExtension)

Definition at line 37 of file fbtwmi.c.

38 {
39  NTSTATUS ntStatus;
40 
41  PAGED_CODE();
42 
43  DeviceExtension->WmiLibInfo.GuidCount = sizeof (FreeBTWmiGuidList) / sizeof (WMIGUIDREGINFO);
44  DeviceExtension->WmiLibInfo.GuidList = FreeBTWmiGuidList;
45  DeviceExtension->WmiLibInfo.QueryWmiRegInfo = FreeBT_QueryWmiRegInfo;
46  DeviceExtension->WmiLibInfo.QueryWmiDataBlock = FreeBT_QueryWmiDataBlock;
47  DeviceExtension->WmiLibInfo.SetWmiDataBlock = FreeBT_SetWmiDataBlock;
48  DeviceExtension->WmiLibInfo.SetWmiDataItem = FreeBT_SetWmiDataItem;
49  DeviceExtension->WmiLibInfo.ExecuteWmiMethod = NULL;
50  DeviceExtension->WmiLibInfo.WmiFunctionControl = NULL;
51 
52  // Register with WMI
53  ntStatus = IoWMIRegistrationControl(DeviceExtension->FunctionalDeviceObject, WMIREG_ACTION_REGISTER);
54 
55  return ntStatus;
56 
57 }
NTSTATUS NTAPI FreeBT_SetWmiDataItem(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN ULONG GuidIndex, IN ULONG InstanceIndex, IN ULONG DataItemId, IN ULONG BufferSize, IN PUCHAR Buffer)
Definition: fbtwmi.c:327
LONG NTSTATUS
Definition: precomp.h:26
NTSTATUS NTAPI FreeBT_SetWmiDataBlock(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN ULONG GuidIndex, IN ULONG InstanceIndex, IN ULONG BufferSize, IN PUCHAR Buffer)
Definition: fbtwmi.c:427
WMIGUIDREGINFO FreeBTWmiGuidList[1]
Definition: fbtwmi.c:28
#define PAGED_CODE()
Definition: video.h:57
smooth NULL
Definition: ftsmooth.c:416
NTSTATUS NTAPI IoWMIRegistrationControl(IN PDEVICE_OBJECT DeviceObject, IN ULONG Action)
Definition: wmi.c:68
#define WMIREG_ACTION_REGISTER
NTSTATUS NTAPI FreeBT_QueryWmiDataBlock(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN ULONG GuidIndex, IN ULONG InstanceIndex, IN ULONG InstanceCount, IN OUT PULONG InstanceLengthArray, IN ULONG OutBufferSize, OUT PUCHAR Buffer)
Definition: fbtwmi.c:217
NTSTATUS NTAPI FreeBT_QueryWmiRegInfo(IN PDEVICE_OBJECT DeviceObject, OUT ULONG *RegFlags, OUT PUNICODE_STRING InstanceName, OUT PUNICODE_STRING *RegistryPath, OUT PUNICODE_STRING MofResourceName, OUT PDEVICE_OBJECT *Pdo)
Definition: fbtwmi.c:147

Referenced by FreeBT_AddDevice().

◆ WMIMinorFunctionString()

PCHAR NTAPI WMIMinorFunctionString ( UCHAR  MinorFunction)

Definition at line 509 of file fbtwmi.c.

510 {
511  switch (MinorFunction)
512  {
514  return "IRP_MN_CHANGE_SINGLE_INSTANCE\n";
515 
517  return "IRP_MN_CHANGE_SINGLE_ITEM\n";
518 
520  return "IRP_MN_DISABLE_COLLECTION\n";
521 
523  return "IRP_MN_DISABLE_EVENTS\n";
524 
526  return "IRP_MN_ENABLE_COLLECTION\n";
527 
529  return "IRP_MN_ENABLE_EVENTS\n";
530 
532  return "IRP_MN_EXECUTE_METHOD\n";
533 
535  return "IRP_MN_QUERY_ALL_DATA\n";
536 
538  return "IRP_MN_QUERY_SINGLE_INSTANCE\n";
539 
540  case IRP_MN_REGINFO:
541  return "IRP_MN_REGINFO\n";
542 
543  default:
544  return "IRP_MN_?????\n";
545 
546  }
547 
548 }
#define IRP_MN_REGINFO
#define IRP_MN_QUERY_SINGLE_INSTANCE
#define IRP_MN_ENABLE_COLLECTION
#define IRP_MN_CHANGE_SINGLE_ITEM
#define IRP_MN_DISABLE_COLLECTION
#define IRP_MN_ENABLE_EVENTS
#define IRP_MN_DISABLE_EVENTS
#define IRP_MN_EXECUTE_METHOD
_In_ UCHAR MinorFunction
Definition: pofuncs.h:42
#define IRP_MN_CHANGE_SINGLE_INSTANCE
#define IRP_MN_QUERY_ALL_DATA

Referenced by FreeBT_DispatchSysCtrl().