#pragma once #include "COM/Com_Def.h" #include struct Dri_Cdc_Struct_Context; struct Dri_Cdc_Struct_Port { Dri_Cdc_Struct_Context* p_Context = nullptr; bool IsOpened = false; QString PortName; }; void Dri_Cdc_Close(Dri_Cdc_Struct_Port* p_Port); bool Dri_Cdc_Init( Dri_Cdc_Struct_Port* p_Port, const Com_Struct_DeviceConfig& DeviceConfig, QString* p_TextStatus); bool Dri_Cdc_Read( Dri_Cdc_Struct_Port* p_Port, Com_Struct_RawPacket* p_Packet, QString* p_TextStatus); // Lock the confirmed CDC candidate after LOGIC accepts a HelloRsp. bool Dri_Cdc_LockCandidate( Dri_Cdc_Struct_Port* p_Port, const QString& EndpointId, QString* p_TextStatus); // Drop one mismatched CDC candidate without tearing down the whole CDC scan set. bool Dri_Cdc_DiscardCandidate( Dri_Cdc_Struct_Port* p_Port, const QString& EndpointId, QString* p_TextStatus); bool Dri_Cdc_Write( Dri_Cdc_Struct_Port* p_Port, const QByteArray& PacketBody, QString* p_TextStatus);