NTSTATUS DriverEntry( In PDRIVER_OBJECT DriverObject, In PUNICODE_STRING RegistryPath )
private IntPtr hDevice; private Thread monitorThread; amd wireless button driver
WDF_DRIVER_CONFIG config; NTSTATUS status; NTSTATUS DriverEntry( In PDRIVER_OBJECT DriverObject
WDF_INTERRUPT_CONFIG_INIT(&interruptConfig, WirelessButtonIsr, WirelessButtonDpc); private Thread monitorThread
VOID DebounceTimerCallback( In WDFTIMER Timer )
#define IOCTL_WIRELESS_BUTTON_GET_STATE CTL_CODE(FILE_DEVICE_UNKNOWN, 0x800, METHOD_BUFFERED, FILE_ANY_ACCESS) #define IOCTL_WIRELESS_BUTTON_SET_MODE CTL_CODE(FILE_DEVICE_UNKNOWN, 0x801, METHOD_BUFFERED, FILE_ANY_ACCESS) typedef struct _WIRELESS_BUTTON_MODE BOOLEAN SoftwareControlled; // TRUE = software control, FALSE = hardware toggle BOOLEAN LedEnabled; WIRELESS_BUTTON_MODE;