IPortableDeviceManager::GetPrivateDevices メソッド (portabledeviceapi.h)
GetPrivateDevices メソッドは、コンピューターに接続されているプライベート ポータブル デバイスの一覧を取得します。 これらのプライベート デバイスには、これらの特定のデバイス用に設計されたアプリケーションを介してのみアクセスできます。
構文
HRESULT GetPrivateDevices(
[in, out] LPWSTR *pPnPDeviceIDs,
[in, out] DWORD *pcPnPDeviceIDs
);
パラメーター
[in, out] pPnPDeviceIDs
接続されているすべてのデバイスのプラグ アンド プレイ名を保持する、呼び出し元によって割り当てられた文字列ポインターの配列。 このパラメーターに必要なサイズを学習するには、まず、このパラメーターを NULL に設定し、 pcPnPDeviceIDs を 0 に設定してこのメソッドを呼び出し、 pcPnPDeviceIDs によって取得された値に従ってバッファーを割り当てます。 これらの名前は、デバイスへの接続を作成するために IPortableDevice::Open で使用できます。
[in, out] pcPnPDeviceIDs
入力時に、 pPnPDeviceID が 保持できる値の数。 出力時に、 pPnPDeviceIDs に実際に書き込まれたデバイスの数へのポインター。
戻り値
このメソッドは HRESULT を返します。 有効な値を次の表に示しますが、これ以外にもあります。
リターン コード | 説明 |
---|---|
|
メソッドが成功しました。 |
|
必要な引数の少なくとも 1 つが NULL ポインターでした。 |
|
pPnPDeviceIDs バッファーが小さすぎて要求されたすべての値を保持できませんが、pcPnPDeviceIDs 値は pPnPDeviceIDs に書き込まれています。 |
注釈
プライベート デバイスと通信するアプリケーションを作成するには、特定のデバイス ドライバーによって公開されるカスタム機能に関する知識が必要です。 この機能の説明は、デバイスの製造元から取得する必要があります。
デバイス の一覧は、デバイス マネージャーがインスタンス化されるときに生成されます。デバイスの接続と切断時に更新されません。 接続されているデバイスの一覧を更新するには、 RefreshDeviceList を呼び出します。
API は、 pPnPDeviceIDs 配列が指す各文字列にメモリを割り当てます。 アプリケーションでこれらの文字列が不要になったら、この配列を反復処理し、 CoTaskMemFree 関数を呼び出して関連するメモリを解放する必要があります。
プライベート デバイスは、オブジェクトの列挙、リソース転送、デバイス機能の取得などを実行する標準の Windows ポータブル デバイス関数呼び出しに正しく応答しない場合があります。
要件
要件 | 値 |
---|---|
対象プラットフォーム | Windows |
ヘッダー | portabledeviceapi.h |
Library | PortableDeviceGUIDs.lib |