22 #define MOFRESOURCENAME L"MofResourceName" 24 #define WMI_FREEBT_DRIVER_INFORMATION 0 26 DEFINE_GUID (FREEBT_WMI_STD_DATA_GUID, 0x871B1A60, 0xD3EA, 0x4f2f, 0x81, 0x7b, 0x46, 0x5e, 0x44, 0x86, 0x7b, 0xf5);
31 &FREEBT_WMI_STD_DATA_GUID, 1, 0
49 DeviceExtension->WmiLibInfo.ExecuteWmiMethod =
NULL;
50 DeviceExtension->WmiLibInfo.WmiFunctionControl =
NULL;
80 if (
Removed == deviceExtension->DeviceState)
84 Irp->IoStatus.Status = ntStatus;
85 Irp->IoStatus.Information = 0;
208 *
Pdo = deviceExtension->PhysicalDeviceObject;
271 WCHAR modelName[] =
L"Aishverya\0\0";
279 modelNameLen = (
wcslen(modelName) + 1) *
sizeof(
WCHAR);
304 *InstanceLengthArray =
size ;
514 return "IRP_MN_CHANGE_SINGLE_INSTANCE\n";
517 return "IRP_MN_CHANGE_SINGLE_ITEM\n";
520 return "IRP_MN_DISABLE_COLLECTION\n";
523 return "IRP_MN_DISABLE_EVENTS\n";
526 return "IRP_MN_ENABLE_COLLECTION\n";
529 return "IRP_MN_ENABLE_EVENTS\n";
532 return "IRP_MN_EXECUTE_METHOD\n";
535 return "IRP_MN_QUERY_ALL_DATA\n";
538 return "IRP_MN_QUERY_SINGLE_INSTANCE\n";
541 return "IRP_MN_REGINFO\n";
544 return "IRP_MN_?????\n";
NTSTATUS NTAPI FreeBT_WmiRegistration(IN OUT PDEVICE_EXTENSION DeviceExtension)
LONG NTAPI FreeBT_IoDecrement(IN OUT PDEVICE_EXTENSION DeviceExtension)
#define STATUS_DELETE_PENDING
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)
#define STATUS_INFO_LENGTH_MISMATCH
#define STATUS_WMI_GUID_NOT_FOUND
#define WMIREG_ACTION_DEREGISTER
NTSTATUS NTAPI WmiSystemControl(IN PWMILIB_CONTEXT WmiLibInfo, IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, OUT PSYSCTL_IRP_DISPOSITION IrpDisposition)
LONG NTAPI FreeBT_IoIncrement(IN OUT PDEVICE_EXTENSION DeviceExtension)
_Must_inspect_result_ _In_ PDRIVER_OBJECT _In_ PCUNICODE_STRING RegistryPath
_In_ LPGUID _In_ ULONG InstanceIndex
NTSTATUS NTAPI WmiCompleteRequest(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN NTSTATUS Status, IN ULONG BufferUsed, IN CCHAR PriorityBoost)
NTSTATUS NTAPI FreeBT_SetWmiDataBlock(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN ULONG GuidIndex, IN ULONG InstanceIndex, IN ULONG BufferSize, IN PUCHAR Buffer)
#define IRP_MN_QUERY_SINGLE_INSTANCE
#define STATUS_WMI_READ_ONLY
WMIGUIDREGINFO FreeBTWmiGuidList[1]
PCHAR NTAPI WMIMinorFunctionString(UCHAR MinorFunction)
#define IRP_MN_ENABLE_COLLECTION
#define STATUS_BUFFER_TOO_SMALL
DEFINE_GUID(FREEBT_WMI_STD_DATA_GUID, 0x871B1A60, 0xD3EA, 0x4f2f, 0x81, 0x7b, 0x46, 0x5e, 0x44, 0x86, 0x7b, 0xf5)
CLIPBOARD_GLOBALS Globals
_In_ PDEVICE_OBJECT DeviceObject
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
#define IRP_MN_CHANGE_SINGLE_ITEM
static struct _test_info info[]
WDF_EXTERN_C_START typedef _Must_inspect_result_ _In_ WDFDRIVER _In_opt_ PWDF_OBJECT_ATTRIBUTES _In_ PDEVICE_OBJECT _In_opt_ PDEVICE_OBJECT _In_opt_ PDEVICE_OBJECT Pdo
_In_ UCHAR _In_ UCHAR MinorFunction
#define IRP_MN_DISABLE_COLLECTION
#define FreeBT_DbgPrint(level, _x_)
#define IoCompleteRequest
_In_ PIRP _In_ ULONG GuidIndex
#define WMIREG_FLAG_INSTANCE_PDO
NTSTATUS NTAPI FreeBT_WmiDeRegistration(IN OUT PDEVICE_EXTENSION DeviceExtension)
NTSTATUS NTAPI IoWMIRegistrationControl(IN PDEVICE_OBJECT DeviceObject, IN ULONG Action)
#define WMIREG_ACTION_REGISTER
enum _SYSCTL_IRP_DISPOSITION SYSCTL_IRP_DISPOSITION
#define IRP_MN_ENABLE_EVENTS
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)
#define IRP_MN_DISABLE_EVENTS
#define IRP_MN_EXECUTE_METHOD
_Must_inspect_result_ _In_ WDFDEVICE _In_ PCUNICODE_STRING MofResourceName
#define IRP_MN_CHANGE_SINGLE_INSTANCE
__drv_aliasesMem FORCEINLINE PIO_STACK_LOCATION IoGetCurrentIrpStackLocation(_In_ PIRP Irp)
#define IRP_MN_QUERY_ALL_DATA
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 IoCallDriver(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
#define IoSkipCurrentIrpStackLocation(Irp)
_CRTIMP size_t __cdecl wcslen(_In_z_ const wchar_t *_Str)
NTSTATUS NTAPI FreeBT_DispatchSysCtrl(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
_Must_inspect_result_ _Inout_ PFLT_VOLUME _In_opt_ PCUNICODE_STRING InstanceName
NTSYSAPI VOID NTAPI RtlInitUnicodeString(PUNICODE_STRING DestinationString, PCWSTR SourceString)
#define WMI_FREEBT_DRIVER_INFORMATION
struct _BEEP_DEVICE_EXTENSION * PDEVICE_EXTENSION
_In_ WDFMEMORY _Out_opt_ size_t * BufferSize