#pragma once #include "DRI/Dri_Hid.h" // USB vendor reader plus three write routes: vendor, command, and NKRO. struct Dri_Vendor_Struct_Port { Dri_Hid_Struct_ReadPort ReadPort; HANDLE HandleWriteVendor = INVALID_HANDLE_VALUE; HANDLE HandleWriteCommand = INVALID_HANDLE_VALUE; HANDLE HandleWriteNkro = INVALID_HANDLE_VALUE; quint16 VendorWriteOutputLength = 0; quint16 CommandWriteOutputLength = 0; quint16 NkroWriteOutputLength = 0; bool IsBluetoothTransport = false; }; void Dri_Vendor_Close(Dri_Vendor_Struct_Port* p_Port); bool Dri_Vendor_Init( Dri_Vendor_Struct_Port* p_Port, const Mid_Struct_DeviceConfig& DeviceConfig, QString* p_TextStatus); bool Dri_Vendor_Read( Dri_Vendor_Struct_Port* p_Port, Mid_Struct_RawPacket* p_Packet, QString* p_TextStatus); bool Dri_Vendor_Write( Dri_Vendor_Struct_Port* p_Port, const QByteArray& ByteArray, QString* p_TextStatus);