Push layered Qt host source files

This commit is contained in:
2026-04-17 16:25:19 +08:00
parent b576d3f19d
commit 89b23b2291
58 changed files with 10349 additions and 2461 deletions

View File

@@ -1,35 +1,20 @@
#pragma once
#pragma once
#include "MID/Mid_Def.h"
#include <QtCore/QByteArray>
#include <QtCore/QString>
#include <Windows.h>
#include "DRI/Dri_Hid.h"
/*
* DRI Consumer 层:抽象 HID Consumer 端点,封装 Win32 句柄、缓存与状态。
*
*/
// USB consumer report reader.
struct Dri_Consumer_Struct_Port
{
/* 设备读写所需的句柄与异步上下文 */
HANDLE HandleRead = INVALID_HANDLE_VALUE;
HANDLE HandleEvent = nullptr;
OVERLAPPED OverlappedRead = {};
/* 快速判断是否已经建立连接以及当前是否正挂起读 */
bool IsOpened = false;
bool IsReadPending = false;
/* USB 输入报文长度 & 环形缓存 */
quint16 InputLength = 0;
QByteArray ReadBuffer;
Dri_Hid_Struct_ReadPort ReadPort;
};
/* 主动释放 Consumer 端口,确保句柄/Overlapped 都被 reset。 */
void Dri_Consumer_Func_Close(Dri_Consumer_Struct_Port* p_Port);
/* 打开设备:按照 VID/PID 查询接口并创建 Overlapped 句柄。 */
bool Dri_Consumer_Func_Open(Dri_Consumer_Struct_Port* p_Port,
void Dri_Consumer_Close(Dri_Consumer_Struct_Port* p_Port);
bool Dri_Consumer_Init(
Dri_Consumer_Struct_Port* p_Port,
const Mid_Struct_DeviceConfig& DeviceConfig,
QString* p_TextStatus);
/* 读取最新的 Consumer 原始包,失败时返回状态描述。 */
bool Dri_Consumer_Func_Read(Dri_Consumer_Struct_Port* p_Port,
bool Dri_Consumer_Read(
Dri_Consumer_Struct_Port* p_Port,
Mid_Struct_RawPacket* p_Packet,
QString* p_TextStatus);