Cómo la función WriteFile escribe archivos en un dispositivo USB
Al enviar datos a USB, debe tener cuidado de no exceder la longitud máxima de paquete informada en la enumeración de dispositivos HID. Además, también debe considerar si enviar de forma sincrónica o asincrónica. El siguiente es un fragmento de código de mi proyecto anterior como referencia:
bool CUSBBase::USBSendData(unsigned char *pWriteBuffer,unsigned int uSize,OVERLAPPED * pOverLapped){
si (m_hDeviceWrite==INVALID_HANDLE_VALUE)
{
devuelve falso;
}
DWORD size_write_in=0, dwError=0;
BOOL ret=WriteFile(m_hDeviceWrite,pWriteBuffer,uSize,size_write_in,pOverLapped);
if (ret==FALSE)
{
dwError=GetLastError();
if (dwError==ERROR_IO_PENDING||dwError==ERROR_SUCCESS)
{
devuelve verdadero ;
}
devuelve falso;
}
devuelve verdadero;
}