添加项目文件。
This commit is contained in:
35
DRI/Dri_Consumer.h
Normal file
35
DRI/Dri_Consumer.h
Normal file
@@ -0,0 +1,35 @@
|
||||
#pragma once
|
||||
|
||||
#include "MID/Mid_Def.h"
|
||||
#include <QtCore/QByteArray>
|
||||
#include <QtCore/QString>
|
||||
#include <Windows.h>
|
||||
|
||||
/*
|
||||
* DRI Consumer 层:抽象 HID Consumer 端点,封装 Win32 句柄、缓存与状态。
|
||||
*
|
||||
*/
|
||||
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;
|
||||
};
|
||||
|
||||
/* 主动释放 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,
|
||||
const Mid_Struct_DeviceConfig& DeviceConfig,
|
||||
QString* p_TextStatus);
|
||||
/* 读取最新的 Consumer 原始包,失败时返回状态描述。 */
|
||||
bool Dri_Consumer_Func_Read(Dri_Consumer_Struct_Port* p_Port,
|
||||
Mid_Struct_RawPacket* p_Packet,
|
||||
QString* p_TextStatus);
|
||||
Reference in New Issue
Block a user