System-Intercepted裝置訊息
下列 Windows 多媒體功能提供一種方式,讓呼叫端將訊息傳遞至舊版音訊裝置:
其中有些裝置訊息是由設備磁碟機直接處理,有些則由系統代表裝置處理。
本節只會討論系統攔截並處理而未傳遞至設備磁碟機的訊息。 系統攔截的訊息可以取得語音通訊或一般音訊使用量的慣用裝置。 此外,系統攔截的訊息可以提供特定裝置的下列資訊:
裝置介面名稱
如需裝置介面名稱的相關資訊,請參閱 裝置介面簡介。
裝置的 隨插即用 devnode 號碼
如需 devnodes 的相關資訊,請參閱 裝置樹狀結構。
對應程式是否可以使用裝置
對應程式會將應用程式的需求對應至系統中的其中一個可用裝置,以選取適當的裝置。 如需對應程式的詳細資訊,請參閱Microsoft Windows SDK檔。
如需其他類型的裝置訊息的相關資訊,請參閱 Windows SDK 檔。
Xxx訊息函式具有下列語法:
DWORD XxxMessage(
<device ID>,
UINT uMsg,
DWORD_PTR dwParam1,
DWORD_PTR dwParam2
);
第一個參數是裝置識別碼。 auxOutMessage函式定義會指定此參數的類型為 UINT,如預期般。 不過,在waveInMessage、waveOutMessage、midiInMessage、midiOutMessage或mixsage的情況下,呼叫端必須轉換裝置識別碼來處理類型 HWAVEIN、HWAVEOUT、HMIDIIN、HMIDIOUT 或 HMIXER。 請注意,如果呼叫端提供有效的控制碼,而不是此參數的裝置識別碼,函式會失敗並傳回錯誤碼MMSYSERR_NOSUPPORT。
例如,uMsg參數會指定訊息值 (,例如DRV_QUERYDEVICEINTERFACE) 。 如需驅動程式特定訊息的清單,請參閱標頭檔 Mmddk.h。
dwParam1和dwParam2參數的意義取決於訊息。 例如,特定訊息可能需要 dwParam1 為 ULONG 值;呼叫端必須將此值轉換成類型DWORD_PTR以滿足函式定義。
如果呼叫成功,函式會傳回MMERR_NOERROR,否則會傳回錯誤狀態碼。
如需 Xxx訊息函式的詳細資訊,請參閱 Windows SDK 檔。
標頭檔 Mmddk.h 定義下列系統攔截的裝置訊息:
如需詳細資訊,請參閱 取得裝置介面名稱。
如需詳細資訊,請參閱 取得裝置介面名稱。
查詢裝置的開發節點號碼。
查詢對應程式是否可以使用裝置。
DRVM_MAPPER_CONSOLEVOICECOM_GET
如需詳細資訊,請參閱 慣用Voice-Communications裝置識別碼。
如需詳細資訊,請參閱 存取慣用裝置識別碼。