GetDevice 方法會擷取一個以端點 ID 字串識別的音訊端點裝置。
語法
HRESULT GetDevice(
[in] LPCWSTR pwstrId,
[out] IMMDevice **ppDevice
);
Parameters
[in] pwstrId
指標指向包含端點 ID 的字串。 呼叫者通常從 IMMDevice::GetId 方法或 IMMNotificationClient 介面中的某一種方法取得此字串。
從 Windows 11 版本 24H2(建置 26100)開始,呼叫者也可以在音訊端點輸入從 PKEY_AudioEndpoint_StableId 屬性取得的字串,以取得具有相符 StableID 的音訊端點。
[out] ppDevice
指標指向指標變數,方法將指定裝置的 IMMDevice 介面位址寫入其中。 透過這個方法,呼叫者會取得介面的計數引用。 呼叫端負責在不再需要介面時,藉由呼叫介面的 Release 方法來釋放介面。 如果 GetDevice 呼叫失敗,*ppDevice 是 NULL。
返回值
如果方法成功,則會傳回S_OK。 如果失敗,可能的回覆碼包括但不限於下表所示的值。
| 回傳碼 | Description |
|---|---|
|
參數 pwstrId 或 ppDevice 是 NULL。 |
|
裝置 ID 不會識別此系統中的任何音訊裝置。 |
|
記憶體不足。 |
備註
如果兩個程式在兩個不同的程序中運行,且都需要存取同一個音訊端點裝置,一個程式不能簡單地將裝置的 IMMDevice 介面傳遞給另一個程式。 然而,程式可依以下步驟存取同一裝置:
- 第一個程式在第一個程序中呼叫 IMMDevice::GetId 方法,取得識別裝置的端點 ID 字串。
- 第一個程式會將端點 ID 字串傳遞到第二個程式。
- 為了取得第二個程序中裝置 IMMDevice 介面的參考,第二個程式會以端點 ID 字串呼叫 GetDevice 。
Requirements
| 需求 | 價值 |
|---|---|
| 最低支援的用戶端 | Windows Vista [僅限傳統型應用程式] |
| 支援的最低伺服器 | Windows Server 2008 [僅限傳統型應用程式] |
| 目標平臺 | Windows 作業系統 |
| Header | mmdeviceapi.h |