久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

    1. <legend id='p5c3d'><style id='p5c3d'><dir id='p5c3d'><q id='p5c3d'></q></dir></style></legend>

      1. <i id='p5c3d'><tr id='p5c3d'><dt id='p5c3d'><q id='p5c3d'><span id='p5c3d'><b id='p5c3d'><form id='p5c3d'><ins id='p5c3d'></ins><ul id='p5c3d'></ul><sub id='p5c3d'></sub></form><legend id='p5c3d'></legend><bdo id='p5c3d'><pre id='p5c3d'><center id='p5c3d'></center></pre></bdo></b><th id='p5c3d'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='p5c3d'><tfoot id='p5c3d'></tfoot><dl id='p5c3d'><fieldset id='p5c3d'></fieldset></dl></div>

        <small id='p5c3d'></small><noframes id='p5c3d'>

        <tfoot id='p5c3d'></tfoot>
          <bdo id='p5c3d'></bdo><ul id='p5c3d'></ul>

        SetupDiGetDeviceProperty 使用示例

        SetupDiGetDeviceProperty usage example(SetupDiGetDeviceProperty 使用示例)
        • <bdo id='Edz29'></bdo><ul id='Edz29'></ul>
        • <small id='Edz29'></small><noframes id='Edz29'>

            <i id='Edz29'><tr id='Edz29'><dt id='Edz29'><q id='Edz29'><span id='Edz29'><b id='Edz29'><form id='Edz29'><ins id='Edz29'></ins><ul id='Edz29'></ul><sub id='Edz29'></sub></form><legend id='Edz29'></legend><bdo id='Edz29'><pre id='Edz29'><center id='Edz29'></center></pre></bdo></b><th id='Edz29'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='Edz29'><tfoot id='Edz29'></tfoot><dl id='Edz29'><fieldset id='Edz29'></fieldset></dl></div>
              <legend id='Edz29'><style id='Edz29'><dir id='Edz29'><q id='Edz29'></q></dir></style></legend>
                <tbody id='Edz29'></tbody>
              <tfoot id='Edz29'></tfoot>

                  本文介紹了SetupDiGetDeviceProperty 使用示例的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

                  問題描述

                  誰能給我提供一個使用SetupDiGetDeviceProperty<的例子/code> ?

                  Can anybody provide me with an example of using SetupDiGetDeviceProperty ?

                  推薦答案

                  以下代碼

                  #include <windows.h>
                  #include <devguid.h>    // for GUID_DEVCLASS_CDROM etc
                  #include <setupapi.h>
                  #include <cfgmgr32.h>   // for MAX_DEVICE_ID_LEN, CM_Get_Parent and CM_Get_Device_ID
                  #define INITGUID
                  #include <tchar.h>
                  #include <stdio.h>
                  
                  //#include "c:WinDDK7600.16385.1incapidevpkey.h"
                  
                  // include DEVPKEY_Device_BusReportedDeviceDesc from WinDDK7600.16385.1incapidevpropdef.h
                  #ifdef DEFINE_DEVPROPKEY
                  #undef DEFINE_DEVPROPKEY
                  #endif
                  #ifdef INITGUID
                  #define DEFINE_DEVPROPKEY(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8, pid) EXTERN_C const DEVPROPKEY DECLSPEC_SELECTANY name = { { l, w1, w2, { b1, b2,  b3,  b4,  b5,  b6,  b7,  b8 } }, pid }
                  #else
                  #define DEFINE_DEVPROPKEY(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8, pid) EXTERN_C const DEVPROPKEY name
                  #endif // INITGUID
                  
                  // include DEVPKEY_Device_BusReportedDeviceDesc from WinDDK7600.16385.1incapidevpkey.h
                  DEFINE_DEVPROPKEY(DEVPKEY_Device_BusReportedDeviceDesc,  0x540b947e, 0x8b40, 0x45bc, 0xa8, 0xa2, 0x6a, 0x0b, 0x89, 0x4c, 0xbd, 0xa2, 4);     // DEVPROP_TYPE_STRING
                  DEFINE_DEVPROPKEY(DEVPKEY_Device_ContainerId,            0x8c7ed206, 0x3f8a, 0x4827, 0xb3, 0xab, 0xae, 0x9e, 0x1f, 0xae, 0xfc, 0x6c, 2);     // DEVPROP_TYPE_GUID
                  DEFINE_DEVPROPKEY(DEVPKEY_Device_FriendlyName,           0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 14);    // DEVPROP_TYPE_STRING
                  DEFINE_DEVPROPKEY(DEVPKEY_DeviceDisplay_Category,        0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57, 0x5a);  // DEVPROP_TYPE_STRING_LIST
                  DEFINE_DEVPROPKEY(DEVPKEY_Device_LocationInfo,           0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 15);    // DEVPROP_TYPE_STRING
                  DEFINE_DEVPROPKEY(DEVPKEY_Device_Manufacturer,           0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 13);    // DEVPROP_TYPE_STRING
                  DEFINE_DEVPROPKEY(DEVPKEY_Device_SecuritySDS,            0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 26);    // DEVPROP_TYPE_SECURITY_DESCRIPTOR_STRING
                  
                  #define ARRAY_SIZE(arr)     (sizeof(arr)/sizeof(arr[0]))
                  
                  #pragma comment (lib, "setupapi.lib")
                  
                  typedef BOOL (WINAPI *FN_SetupDiGetDevicePropertyW)(
                    __in       HDEVINFO DeviceInfoSet,
                    __in       PSP_DEVINFO_DATA DeviceInfoData,
                    __in       const DEVPROPKEY *PropertyKey,
                    __out      DEVPROPTYPE *PropertyType,
                    __out_opt  PBYTE PropertyBuffer,
                    __in       DWORD PropertyBufferSize,
                    __out_opt  PDWORD RequiredSize,
                    __in       DWORD Flags
                  );
                  
                  // List all USB devices with some additional information
                  void ListDevices (CONST GUID *pClassGuid, LPCTSTR pszEnumerator)
                  {
                      unsigned i, j;
                      DWORD dwSize, dwPropertyRegDataType;
                      DEVPROPTYPE ulPropertyType;
                      CONFIGRET status;
                      HDEVINFO hDevInfo;
                      SP_DEVINFO_DATA DeviceInfoData;
                      const static LPCTSTR arPrefix[3] = {TEXT("VID_"), TEXT("PID_"), TEXT("MI_")};
                      TCHAR szDeviceInstanceID [MAX_DEVICE_ID_LEN];
                      TCHAR szDesc[1024], szHardwareIDs[4096];
                      WCHAR szBuffer[4096];
                      LPTSTR pszToken, pszNextToken;
                      TCHAR szVid[MAX_DEVICE_ID_LEN], szPid[MAX_DEVICE_ID_LEN], szMi[MAX_DEVICE_ID_LEN];
                      FN_SetupDiGetDevicePropertyW fn_SetupDiGetDevicePropertyW = (FN_SetupDiGetDevicePropertyW)
                          GetProcAddress (GetModuleHandle (TEXT("Setupapi.dll")), "SetupDiGetDevicePropertyW");
                  
                      // List all connected USB devices
                      hDevInfo = SetupDiGetClassDevs (pClassGuid, pszEnumerator, NULL,
                                                      pClassGuid != NULL ? DIGCF_PRESENT: DIGCF_ALLCLASSES | DIGCF_PRESENT);
                      if (hDevInfo == INVALID_HANDLE_VALUE)
                          return;
                  
                      // Find the ones that are driverless
                      for (i = 0; ; i++)  {
                          DeviceInfoData.cbSize = sizeof (DeviceInfoData);
                          if (!SetupDiEnumDeviceInfo(hDevInfo, i, &DeviceInfoData))
                              break;
                  
                          status = CM_Get_Device_ID(DeviceInfoData.DevInst, szDeviceInstanceID , MAX_PATH, 0);
                          if (status != CR_SUCCESS)
                              continue;
                  
                          // Display device instance ID
                          _tprintf (TEXT("%s
                  "), szDeviceInstanceID );
                  
                          if (SetupDiGetDeviceRegistryProperty (hDevInfo, &DeviceInfoData, SPDRP_DEVICEDESC,
                                                                &dwPropertyRegDataType, (BYTE*)szDesc,
                                                                sizeof(szDesc),   // The size, in bytes
                                                                &dwSize))
                              _tprintf (TEXT("    Device Description: "%s"
                  "), szDesc);
                  
                          if (SetupDiGetDeviceRegistryProperty (hDevInfo, &DeviceInfoData, SPDRP_HARDWAREID,
                                                                &dwPropertyRegDataType, (BYTE*)szHardwareIDs,
                                                                sizeof(szHardwareIDs),    // The size, in bytes
                                                                &dwSize)) {
                              LPCTSTR pszId;
                              _tprintf (TEXT("    Hardware IDs:
                  "));
                              for (pszId=szHardwareIDs;
                                   *pszId != TEXT('
                  
                  主站蜘蛛池模板:
                  欧美午夜一区二区三区免费大片
                  |
                  av中文字幕在线
                  |
                  五月天激情电影
                  |
                  av中文网
                  |
                  黄色免费网站在线看
                  |
                  国产精品久久二区
                  |
                  国产精品国产精品国产专区不片
                  |
                  成年人免费网站
                  |
                  精精国产xxxx视频在线播放7
                  |
                  青青草亚洲
                  |
                  精品久久一区
                  |
                  精品美女在线观看视频在线观看
                  |
                  欧美成人免费在线视频
                  |
                  91网视频|
                  成年人视频在线免费观看
                  |
                  午夜精品久久
                  |
                  久久国产精品精品
                  |
                  久久一区二区三区四区
                  |
                  久久综合成人精品亚洲另类欧美
                  |
                  香蕉视频黄色
                  |
                  国产欧美视频一区二区三区
                  |
                  免费99精品国产自在在线
                  |
                  欧美一级欧美三级在线观看
                  |
                  日韩成人在线播放
                  |
                  国产成人在线一区二区
                  |
                  精品在线一区二区三区
                  |
                  国产国拍亚洲精品av
                  |
                  久久精品国产一区老色匹
                  |
                  青娱乐av|
                  国产成人在线播放
                  |
                  亚洲欧美日本在线
                  |
                  日韩欧美一区二区在线播放
                  |
                  一二三四在线视频观看社区
                  |
                  一区日韩
                  |
                  国产成人综合一区二区三区
                  |
                  亚洲三级视频
                  |
                  国产精品99久久久久久动医院
                  |
                  av片在线观看网站
                  |
                  国产一区二区三区四区三区四
                  |
                  一级aaaaaa毛片免费同男同女
                  |
                  国产在线观看网站
                  |