WinUSBのサンプルコード. C言語です.

http://d.hatena.ne.jp/Waroe/20090220/1235124086
2/20版はこちら↑
http://d.hatena.ne.jp/Waroe/20090311/1236761835

3/11 通信完了. 完成品↑
#include<stdio.h>   //テスト用です
#include<windows.h>   //ここ追加(HowTo・・にないけど)
#include<WINUSB.H>
#include<usb100.h>
#include<setupapi.h>  //ここも追加
#include<strsafe.h>  //ここも追加

BOOL GetDevicePath(LPGUID InterfaceGuid, PCHAR DevicePath, size_t BufLen)
{
  BOOL bResult = FALSE;
  HDEVINFO deviceInfo;
  SP_DEVICE_INTERFACE_DATA interfaceData;
  PSP_DEVICE_INTERFACE_DETAIL_DATA detailData = NULL;
  ULONG length;
  ULONG requiredLength=0;
  HRESULT hr;

  deviceInfo = SetupDiGetClassDevs(InterfaceGuid, NULL, NULL, DIGCF_PRESENT | DIGCF_DEVICEINTERFACE);

  interfaceData.cbSize = sizeof(SP_DEVICE_INTERFACE_DATA);
  bResult = SetupDiEnumDeviceInterfaces(deviceInfo, NULL, InterfaceGuid, 0, &interfaceData);
  
  SetupDiGetDeviceInterfaceDetail(deviceInfo, &interfaceData, NULL, 0, &requiredLength, NULL);
  detailData = (PSP_DEVICE_INTERFACE_DETAIL_DATA)LocalAlloc(LMEM_FIXED, requiredLength);

  if(NULL == detailData)
  {
    SetupDiDestroyDeviceInfoList(deviceInfo);
    return FALSE;
  }

  detailData->cbSize = sizeof(SP_DEVICE_INTERFACE_DETAIL_DATA);
  length = requiredLength;

  bResult = SetupDiGetDeviceInterfaceDetail(deviceInfo, &interfaceData, detailData, length, &requiredLength, NULL);

  if(FALSE == bResult)
  {
    LocalFree(detailData);
    return FALSE;
  }

  hr = StringCchCopy(DevicePath, BufLen, detailData->DevicePath);
  if(FAILED(hr))
  {
    SetupDiDestroyDeviceInfoList(deviceInfo);
    LocalFree(detailData);
  }
  LocalFree(detailData);

  return bResult;
}

void main(void){
// 仮にGUIDが"1F1F1F1F1-1F1F-1F1F-1F1F-1F1F1F1F1F1F"だった場合,INFの[Dev_AddReg]で指定したGUID
  GUID guid = {
    0x1F1F1F1F1,
    0x1F1F,
    0x1F1F,
    { 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F}
  };
//↑のようにする. GUID構造体というものがあるらしい.
  char devicePath[512]; //MAX_DEVPATH_LENGTH は英語だからわかりにくいが, 想定されるデバイスのパス名の長さ
  GetDevicePath( &guid, devicePath, 512);
  printf("Hello, world!\n");
}

途中までしかかけてないけどビルドは通ります.
ビルドが通るので, デバイスハンドルの取得はできているはずです.*1

2/11 訂正*1
バイスハンドルの取得ではなく, デバイスパスの取得.