13.07.2015 Views

USB IO HID Datasheet - Delcom Products Inc.

USB IO HID Datasheet - Delcom Products Inc.

USB IO HID Datasheet - Delcom Products Inc.

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Delcom</strong> <strong>Products</strong> <strong>Inc</strong>.<strong>USB</strong><strong>IO</strong><strong>HID</strong> <strong>Datasheet</strong>Revision 4 – 4/7/2009{ //A device has been detected, so get more infoResult = SetupDiGetDeviceInterfaceDetail(hDevInfo, &devInfoData, NULL, 0,&Length, NULL); // zero length call to get sizedetailData = (PSP_DEVICE_INTERFACE_DETAIL_DATA)malloc(Length);detailData -> cbSize = sizeof(SP_DEVICE_INTERFACE_DETAIL_DATA);Result = SetupDiGetDeviceInterfaceDetail(hDevInfo, &devInfoData, detailData,Length, &Required, NULL);// To open device in a non-share mode, change the 3 parameter to NULLhDevice=CreateFile(detailData->DevicePath, GENERIC_READ|GENERIC_WRITE,FILE_SHARE_READ|FILE_SHARE_WRITE,(LPSECURITY_ATTRIBUTES)NULL, OPEN_EXISTING, 0,NULL);Attributes.Size = sizeof(Attributes);Result = HidD_GetAttributes(hDevice, &Attributes);MyDeviceDetected = FALSE;if( (Attributes.VendorID == VID) && (Attributes.ProductID == PID)){MyDeviceDetected = TRUE;strncpy(DeviceName, detailData->DevicePath, 512); // save the devicename/* optional check for Family id and serial number, See Appendix Aif(TID || SID) { // Now check for TID and SID if non-zeroif(GetDeviceInfo(&<strong>Delcom</strong>Info)) MyDeviceDetected = FALSE;else {if(TID && (<strong>Delcom</strong>Info.Family != TID)) MyDeviceDetected = FALSE;if(SID && (<strong>Delcom</strong>Info.Serial != SID)) MyDeviceDetected = FALSE;}} // end of TID or SID*/}Else {//The PID and/or VID doesn't match. Close the device try the next oneCloseHandle(hDevice);hDevice = 0;}free(detailData);} //if (Result != 0)else { // End of List - No <strong>HID</strong> devices detected!LastDevice=TRUE; // returned 0, so there are no more devices to check.}//If we haven't found the device yet, then try the next one.MemberIndex++;} // loop till either end of deivce list or we find our devicewhile ((LastDevice == FALSE) && (MyDeviceDetected == FALSE));SetupDiDestroyDeviceInfoList(hDevInfo);if (MyDeviceDetected == FALSE) {// Device not foundhDevice = 0;return(1);}else {// Device FoundHidD_SetNumInputBuffers(hDevice,1);return(0); // Success}}//Free the memory<strong>USB</strong><strong>IO</strong><strong>HID</strong>.pdf Copyright © DELCOM PRODUCTS INC. 2009. All Rights Reserved. Page 29 of 34<strong>Delcom</strong> <strong>Products</strong> <strong>Inc</strong>. 200 William St STE302 – Port Chester NY 10573 USA (914)934-5170 www.delcomproducts.com

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!