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
デバイスのプラグ アンド プレイ ID を含む null で終わる文字列へのポインター。 GetDevices を呼び出すことで、コンピューターに接続されているすべてのデバイスのプラグ アンド プレイ名の一覧を取得できます。
[in] pszDevicePropertyName
要求するプロパティの名前を含む null で終わる文字列へのポインター。 これらは、デバイスの製造元によって定義されたカスタム プロパティ名です。
[in, out] pData
取得したデータを保持する呼び出し元によって割り当てられたバッファー。 必要なサイズを取得するには、このパラメーターを NULL に設定し 、pcbData を 0 に設定してこのメソッドを呼び出します。必要なサイズは pcbData で取得されます。 この呼び出しでは、無視できるエラーも返されます。 「戻り値」を参照してください。
[in, out] pcbData
pData によって割り当てられたバッファーまたは返されるバッファーのサイズ (バイト単位)。
[in, out] pdwType
pData で返されるデータの種類を表す定数。 このパラメーターの値は、Platform SDK 関数 RegQueryValueEx の lpType パラメーターを記述するために使用されるのと同じ型です。
戻り値
このメソッドは HRESULT を返します。 有効な値を次の表に示しますが、これ以外にもあります。
リターン コード | 説明 |
---|---|
|
メソッドが成功しました。 |
|
指定されたバッファーは、要求されたデータを保持するのに十分な大きさではありません。 (この結果は、 pData が NULL の場合に常に返されます。メソッドを呼び出して必要なバッファー サイズを取得する場合は、この結果を無視できます。 pData パラメーターの説明を参照してください)。 |
|
必要な引数の少なくとも 1 つが NULL ポインターでした。 |
注釈
これらのプロパティ値は、デバイスのインストール時に格納されるか、操作中にデバイスによって格納されるため、接続セッション間で保持できます。 アプリケーションは、デバイス自体によって指定される プロパティの正確な名前を認識している必要があります。したがって、このメソッドは、独自のアプリケーションを作成するデバイス開発者が使用することを目的としています。
デバイス オブジェクトから Windows ポータブル デバイス プロパティを取得するには、 IPortableDeviceProperties::GetValues を呼び出し、 WPD_DEVICE_OBJECT_IDを使用してデバイス オブジェクトを指定します。
要件
要件 | 値 |
---|---|
対象プラットフォーム | Windows |
ヘッダー | portabledeviceapi.h |
Library | PortableDeviceGUIDs.lib |