IPortableDeviceManager::GetDevices 方法 (portabledeviceapi.h)
擷取連線到電腦的可攜式裝置清單。
語法
HRESULT GetDevices(
[in, out] LPWSTR *pPnPDeviceIDs,
[in, out] DWORD *pcPnPDeviceIDs
);
參數
[in, out] pPnPDeviceIDs
字串指標的呼叫端配置數位,可保存所有連線裝置 隨插即用 名稱。 若要瞭解此參數的必要大小,請先呼叫這個方法,並將此參數設定為 NULL ,並將 pcPnPDDeviceID 設定為零,然後根據 pcPnPDeviceID 所擷取的值配置緩衝區。 IPortableDevice::Open 可以使用這些名稱來建立裝置的連線。
[in, out] pcPnPDeviceIDs
在輸入時, pPnPDeviceID 可以 保存的值數目。 輸出時,實際寫入 pPnPDeviceID 的裝置數目指標。
傳回值
方法會傳回 HRESULT。 可能的值包括 (但不限於) 下表中的這些值。
傳回碼 | 描述 |
---|---|
|
此方法已成功。 |
|
至少有一個必要的自變數是 NULL 指標。 |
|
pPnPDeviceIDs 緩衝區太小,無法保存要求的所有值,但pcPnPDeviceIDs值已寫入 pPnPDeviceIDs。 |
備註
裝置管理員具現化時會產生裝置清單;它不會在裝置連線和中斷連線時重新整理。 若要重新整理已連線裝置的清單,請呼叫 RefreshDeviceList。
API 會為 pPnPDeviceIDs 陣列所指向的每個字串配置記憶體。 一旦應用程式不再需要這些字串,它就必須逐一查看此陣列,並藉由呼叫 CoTaskMemFree 函式來釋放相關聯的記憶體。
範例
如需如何使用這個方法來列舉裝置的範例,請參閱 列舉裝置。 如需如何使用這個方法來列舉服務的範例,請參閱 列舉服務。
規格需求
需求 | 值 |
---|---|
目標平台 | Windows |
標頭 | portabledeviceapi.h |
程式庫 | PortableDeviceGUIDs.lib |