41 const GUID HidClassGuid = {0x4D1E55B2, 0xF16F, 0x11CF, {0x88,0xCB,0x00,0x11,0x11,0x00,0x00,0x30}};
190 ReportBuffer, ReportBufferLength,
222 ReportBuffer, ReportBufferLength,
259 NumberBuffers,
sizeof(
ULONG),
392 const CHAR HelloString[] =
"Hello\n";
399 return sizeof(HelloString);
416 ReportBuffer, ReportBufferLength,
434 &NumberBuffers,
sizeof(
ULONG),
453 ReportBuffer, ReportBufferLength,
HIDAPI BOOLEAN WINAPI HidD_GetPhysicalDescriptor(IN HANDLE HidDeviceObject, OUT PVOID Buffer, IN ULONG BufferLength)
#define ERROR_INVALID_PARAMETER
#define IOCTL_HID_SET_DRIVER_CONFIG
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ ULONG BufferLength
_Must_inspect_result_ _Out_writes_to_ DataLength PHIDP_DATA _Inout_ PULONG _In_ PHIDP_PREPARSED_DATA PreparsedData
_In_ ULONG _In_ ULONG _In_ ULONG Length
HIDAPI BOOLEAN WINAPI HidD_SetConfiguration(IN HANDLE HidDeviceObject, IN PHIDD_CONFIGURATION Configuration, IN ULONG ConfigurationLength)
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_INTERRUPT_CONFIG Configuration
#define DLL_THREAD_ATTACH
#define IOCTL_HID_GET_MS_GENRE_DESCRIPTOR
HIDAPI BOOLEAN WINAPI HidD_FlushQueue(IN HANDLE HidDeviceObject)
#define IOCTL_HID_GET_SERIALNUMBER_STRING
VOID NTAPI CopyFunction(IN PVOID Target, IN PVOID Source, IN ULONG Length)
HIDAPI BOOLEAN WINAPI HidD_GetPreparsedData(IN HANDLE HidDeviceObject, OUT PHIDP_PREPARSED_DATA *PreparsedData)
#define ERROR_NOT_ENOUGH_MEMORY
HIDAPI BOOLEAN WINAPI HidD_GetMsGenreDescriptor(IN HANDLE HidDeviceObject, OUT PVOID Buffer, IN ULONG BufferLength)
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ WDFREQUEST _In_opt_ PWDF_REQUEST_SEND_OPTIONS _Out_writes_opt_ NumCharacters PUSHORT _Inout_ PUSHORT _In_ UCHAR StringIndex
#define DLL_PROCESS_ATTACH
HIDAPI ULONG WINAPI HidD_Hello(OUT PCHAR Buffer, IN ULONG BufferLength)
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD dwReason, LPVOID lpvReserved)
#define IOCTL_HID_GET_MANUFACTURER_STRING
#define DLL_THREAD_DETACH
static IN DWORD IN LPVOID lpvReserved
HIDAPI BOOLEAN WINAPI HidD_GetInputReport(IN HANDLE HidDeviceObject, IN OUT PVOID ReportBuffer, IN ULONG ReportBufferLength)
#define IOCTL_HID_GET_COLLECTION_DESCRIPTOR
HIDAPI BOOLEAN WINAPI HidD_SetOutputReport(IN HANDLE HidDeviceObject, IN PVOID ReportBuffer, IN ULONG ReportBufferLength)
HIDAPI BOOLEAN WINAPI HidD_GetAttributes(IN HANDLE HidDeviceObject, OUT PHIDD_ATTRIBUTES Attributes)
VOID NTAPI FreeFunction(IN PVOID Item)
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
HIDAPI BOOLEAN WINAPI HidD_GetIndexedString(IN HANDLE HidDeviceObject, IN ULONG StringIndex, OUT PVOID Buffer, IN ULONG BufferLength)
#define IOCTL_GET_PHYSICAL_DESCRIPTOR
HIDAPI BOOLEAN WINAPI HidD_SetNumInputBuffers(IN HANDLE HidDeviceObject, IN ULONG NumberBuffers)
HIDAPI BOOLEAN WINAPI HidD_GetManufacturerString(IN HANDLE HidDeviceObject, OUT PVOID Buffer, IN ULONG BufferLength)
VOID NTAPI ZeroFunction(IN PVOID Item, IN ULONG ItemSize)
#define DLL_PROCESS_DETACH
HIDAPI BOOLEAN WINAPI HidD_FreePreparsedData(IN PHIDP_PREPARSED_DATA PreparsedData)
#define IOCTL_HID_GET_FEATURE
HIDAPI BOOLEAN WINAPI HidD_GetConfiguration(IN HANDLE HidDeviceObject, OUT PHIDD_CONFIGURATION Configuration, IN ULONG ConfigurationLength)
struct _HIDP_PREPARSED_DATA * PHIDP_PREPARSED_DATA
HIDAPI BOOLEAN WINAPI HidD_SetFeature(IN HANDLE HidDeviceObject, IN PVOID ReportBuffer, IN ULONG ReportBufferLength)
HIDAPI VOID WINAPI HidD_GetHidGuid(OUT LPGUID HidGuid)
HIDAPI BOOLEAN WINAPI HidD_GetProductString(IN HANDLE HidDeviceObject, OUT PVOID Buffer, IN ULONG BufferLength)
HIDAPI BOOLEAN WINAPI HidD_GetFeature(IN HANDLE HidDeviceObject, OUT PVOID ReportBuffer, IN ULONG ReportBufferLength)
NTSYSAPI ULONG NTAPI vDbgPrintEx(_In_ ULONG ComponentId, _In_ ULONG Level, _In_z_ PCCH Format, _In_ va_list ap)
#define IOCTL_HID_GET_PRODUCT_STRING
#define IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS
VOID __cdecl DebugFunction(IN LPCSTR FormatStr,...)
#define IOCTL_HID_GET_INPUT_REPORT
#define IOCTL_HID_GET_COLLECTION_INFORMATION
#define IOCTL_HID_SET_OUTPUT_REPORT
struct _HIDD_ATTRIBUTES HIDD_ATTRIBUTES
#define memcpy(s1, s2, n)
PVOID NTAPI AllocFunction(IN ULONG ItemSize)
BOOL WINAPI DeviceIoControl(IN HANDLE hDevice, IN DWORD dwIoControlCode, IN LPVOID lpInBuffer OPTIONAL, IN DWORD nInBufferSize OPTIONAL, OUT LPVOID lpOutBuffer OPTIONAL, IN DWORD nOutBufferSize OPTIONAL, OUT LPDWORD lpBytesReturned OPTIONAL, IN LPOVERLAPPED lpOverlapped OPTIONAL)
HLOCAL NTAPI LocalFree(HLOCAL hMem)
HIDAPI BOOLEAN WINAPI HidD_GetSerialNumberString(IN HANDLE HidDeviceObject, OUT PVOID Buffer, IN ULONG BufferLength)
#define IOCTL_HID_GET_DRIVER_CONFIG
#define IOCTL_HID_SET_FEATURE
#define IOCTL_HID_GET_INDEXED_STRING
_In_ WDFCOLLECTION _In_ WDFOBJECT Item
_In_ UINT _In_ UINT _In_ PNDIS_PACKET Source
HLOCAL NTAPI LocalAlloc(UINT uFlags, SIZE_T dwBytes)
#define IOCTL_HID_FLUSH_QUEUE
HIDAPI BOOLEAN WINAPI HidD_GetNumInputBuffers(IN HANDLE HidDeviceObject, OUT PULONG NumberBuffers)
#define IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS
_Must_inspect_result_ _In_ WDFDMAENABLER _In_ _In_opt_ PWDF_OBJECT_ATTRIBUTES Attributes