共用方式為


IPortableDeviceManager::GetDeviceProperty 方法 (portabledeviceapi.h)

擷取電腦上裝置所儲存的屬性值。 (這些不是 Windows 可攜式裝置所定義的標準屬性。)

語法

HRESULT GetDeviceProperty(
  [in]      LPCWSTR pszPnPDeviceID,
  [in]      LPCWSTR pszDevicePropertyName,
  [in, out] BYTE    *pData,
  [in, out] DWORD   *pcbData,
  [in, out] DWORD   *pdwType
);

參數

[in] pszPnPDeviceID

包含裝置 隨插即用 標識碼之 Null 終止字串的指標。 您可以藉由呼叫 GetDevices,擷取連線到電腦之所有裝置 隨插即用 名稱的清單。

[in] pszDevicePropertyName

Null 終止字串的指標,其中包含要要求的屬性名稱。 這些是由裝置製造商定義的自定義屬性名稱。

[in, out] pData

呼叫端配置的緩衝區,用來保存擷取的數據。 若要取得所需的大小,請呼叫這個方法,並將此參數設定為 NULL ,而 將設定為零的 azureData ,並將所需的大小擷取於 azureData 中。 此呼叫也會傳回可以忽略的錯誤。 請參閱傳回值。

[in, out] pcbData

pData 所配置或傳回的緩衝區大小,以位元組為單位。

[in, out] pdwType

常數,描述 pData 中傳回的數據類型。 此參數的值是用來描述 Platform SDK 函式 RegQueryValueExlpType 參數的相同類型。

傳回值

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

傳回碼 描述
S_OK
此方法已成功。
HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER)
提供的緩衝區不夠大,無法保存要求的數據。 (pDataNULL 時,一律會傳回此結果。如果您要呼叫 方法來擷取所需的緩衝區大小,您可以忽略此結果。請參閱 pData 參數的描述。)
E_POINTER
至少有一個必要的自變數是 NULL 指標。

備註

這些屬性值會儲存在裝置安裝上,或在作業期間由裝置儲存,以便跨聯機會話保存這些屬性值。 應用程式必須知道屬性的確切名稱,該屬性是由裝置本身所指定;因此,此方法旨在供建立自己的應用程式的裝置開發人員使用。

若要從裝置物件取得 Windows 可攜式裝置屬性,請呼叫 IPortableDeviceProperties::GetValues,並使用 WPD_DEVICE_OBJECT_ID指定裝置物件。

規格需求

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

另請參閱

IPortableDeviceManager 介面

IPortableDeviceManager::GetDevices