usb
Publicado por Ken M (1 intervención) el 18/02/2007 19:24:02
Nesesito saber como se usa el usb (tengo visual c .net pero recien lo estoy empesando a usar yo usaba gcc)
Valora esta pregunta


0
#include <windows.h>
#include <winusb.h>
void EnumerateUSBDevices() {
// Inicializar la API de Windows
if (CoInitializeEx(NULL, COINIT_APARTMENTTHREADED) != S_OK) {
// Manejar error de inicialización
return;
}
// Enumerar dispositivos USB
HDEVINFO deviceInfo = SetupDiGetClassDevs(&GUID_DEVINTERFACE_USB_DEVICE, 0, 0, DIGCF_DEVICEINTERFACE | DIGCF_PRESENT);
SP_DEVICE_INTERFACE_DATA interfaceData;
interfaceData.cbSize = sizeof(SP_DEVICE_INTERFACE_DATA);
// Iterar sobre los dispositivos encontrados
for (DWORD index = 0; SetupDiEnumDeviceInterfaces(deviceInfo, 0, &GUID_DEVINTERFACE_USB_DEVICE, index, &interfaceData); ++index) {
// Realizar operaciones con el dispositivo, como obtener información sobre el dispositivo, abrirlo, etc.
// ...
// Ejemplo: Obtener el nombre del dispositivo
WCHAR deviceName[256];
if (SetupDiGetDeviceInterfaceDetail(deviceInfo, &interfaceData, 0, 0, 0, 0)) {
SP_DEVICE_INTERFACE_DETAIL_DATA* interfaceDetailData = (SP_DEVICE_INTERFACE_DETAIL_DATA*)malloc(sizeof(SP_DEVICE_INTERFACE_DETAIL_DATA));
interfaceDetailData->cbSize = sizeof(SP_DEVICE_INTERFACE_DETAIL_DATA);
if (SetupDiGetDeviceInterfaceDetail(deviceInfo, &interfaceData, interfaceDetailData, sizeof(SP_DEVICE_INTERFACE_DETAIL_DATA), 0, 0)) {
// Usar interfaceDetailData->DevicePath para obtener el nombre del dispositivo
}
free(interfaceDetailData);
}
}
// Liberar recursos
SetupDiDestroyDeviceInfoList(deviceInfo);
CoUninitialize();
}