共用方式為


IPortableDeviceManager::GetPrivateDevices 方法 (portabledeviceapi.h)

GetPrivateDevices 方法會擷取連線到電腦的私人可攜式裝置清單。 這些私人裝置只能透過專為這些特定裝置設計的應用程式來存取。

語法

HRESULT GetPrivateDevices(
  [in, out] LPWSTR *pPnPDeviceIDs,
  [in, out] DWORD  *pcPnPDeviceIDs
);

參數

[in, out] pPnPDeviceIDs

字串指標的呼叫端配置數位,可保存所有連線裝置 隨插即用 名稱。 若要瞭解此參數的必要大小,請先呼叫這個方法,並將此參數設定為 NULL ,並將 pcPnPDDeviceID 設定為零,然後根據 pcPnPDeviceID 所擷取的值配置緩衝區。 IPortableDevice::Open 可以使用這些名稱來建立裝置的連線。

[in, out] pcPnPDeviceIDs

在輸入時, pPnPDeviceID 可以 保存的值數目。 輸出時,實際寫入 pPnPDeviceID 的裝置數目指標。

傳回值

方法會傳回 HRESULT。 可能的值包括 (但不限於) 下表中的這些值。

傳回碼 描述
S_OK
此方法已成功。
E_POINTER
至少有一個必要的自變數是 NULL 指標。
S_FALSE
pPnPDeviceIDs 緩衝區太小,無法保存要求的所有值,但pcPnPDeviceIDs值已寫入 pPnPDeviceIDs

備註

若要撰寫與私人裝置通訊的應用程式,您必須瞭解特定裝置驅動程式所公開的自定義功能。 這項功能的描述必須從裝置製造商取得。

裝置管理員具現化時會產生裝置清單;它不會在裝置連線和中斷連線時重新整理。 若要重新整理已連線裝置的清單,請呼叫 RefreshDeviceList

API 會為 pPnPDeviceIDs 陣列所指向的每個字串配置記憶體。 一旦應用程式不再需要這些字串,它就必須逐一查看此陣列,並藉由呼叫 CoTaskMemFree 函式來釋放相關聯的記憶體。

私人裝置可能無法正確回應執行物件列舉、資源傳輸、裝置功能的擷取等標準 Windows 可攜式裝置函式呼叫。

規格需求

需求
目標平台 Windows
標頭 portabledeviceapi.h
程式庫 PortableDeviceGUIDs.lib

另請參閱

IPortableDeviceManager 介面