次の方法で共有


IMMDevice::GetId メソッド (mmdeviceapi.h)

GetId メソッドは、オーディオ エンドポイント デバイスを識別するエンドポイント ID 文字列を取得します。

構文

HRESULT GetId(
  [out] LPWSTR *ppstrId
);

パラメーター

[out] ppstrId

エンドポイント デバイス ID を含む null で終わるワイド文字列のアドレスをメソッドが書き込むポインター変数へのポインター。 メソッドは、文字列のストレージを割り当てます。 呼び出し元は、不要になったときに CoTaskMemFree 関数を呼び出すことによって、ストレージを解放する役割を担います。 GetId 呼び出しが失敗した場合、*ppstrId は NULL です。CoTaskMemFree の詳細については、Windows SDK のドキュメントを参照してください。

戻り値

メソッドが成功した場合は、S_OK を返します。 失敗した場合、次の表に示す値が含まれますが、これに限定されません。

リターン コード 説明
E_OUTOFMEMORY
メモリが不足しています。
E_POINTER
パラメーター pwstrIdNULL です

解説

このメソッドから取得したエンドポイント ID 文字列は、 IMMDevice インターフェイス インスタンスによって表されるオーディオ エンドポイント デバイスを識別します。 クライアントは、エンドポイント ID 文字列を使用して、 後で、または IMMDeviceEnumerator::GetDevice メソッドを呼び出すことによって、別のプロセスでオーディオ エンドポイント デバイスのインスタンスを作成できます。 クライアントは、エンドポイント ID 文字列の内容を不透明として扱う必要があります。 つまり、クライアントは文字列の内容を解析してデバイスに関する情報を取得 しようとしないでください 。 その理由は、文字列形式が未定義であり、MMDevice API システム モジュールの実装から次の実装に変更される可能性があるためです。

GetId メソッドを呼び出すコード例については、次のトピックを参照してください。

要件

   
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー mmdeviceapi.h

関連項目

IMMDevice インターフェイス

IMMDeviceEnumerator::GetDevice