共用方式為


DRVM_MAPPER_PREFERRED_GET 函式

DRVM_MAPPER_PREFERRED_GET訊息會擷取慣用音訊裝置的裝置標識碼。

語法

DWORD  xxxMessage(
   UINT      uDeviceID,
   UINT      uMsg,
   DWORD_PTR dwParam1,
   DWORD_PTR dwParam2
);

參數

  • uDeviceID
    指定目標裝置的識別碼。 如需如何轉換此值以搭配適當函式使用的詳細資訊,請參閱下列一節。

  • uMsg
    呼叫者會在呼叫 xxxMessage 來處理此裝置訊息時,將此參數設定為 DRVM_MAPPER_PREFERRED_GET。

  • dwParam1
    裝置標識碼的指標。 此參數指向 DWORD 變數,函式會將目前慣用裝置的裝置識別碼寫入其中。 函式會將值寫入 (-1) ,如果沒有符合慣用裝置資格的裝置。

  • dwParam2
    狀態旗標的指標。 此參數指向函式寫入裝置狀態旗標的 DWORD 變數。 目前只有一個旗標位是針對 waveInMessagewaveOutMessage 呼叫定義 () :DRVM_MAPPER_PREFERRED_FLAGS_PREFERREDONLY。 如需詳細資訊,請參閱接下來的<備註>一節。

傳回值

如果已成功處理訊息, 則 xxxMessage 函式會傳回MMSYSERR_NOERROR。 否則,它會傳回適當的錯誤碼。

備註

此訊息僅適用於 waveInMessagewaveOutMessagemidiOutMessage 函式。 當呼叫端使用DRVM_MAPPER_PREFERRED_GET訊息呼叫這些函式時,呼叫端必須先將裝置標識元指定為 waveInMessagewaveOutMessage) WAVE_MAPPER (或 midiOutMessage) MIDI_MAPPER (,然後將此值轉換成適當的句柄類型。 針對 waveInMessagewaveOutMessagemidiOutMessage 函式,呼叫端必須將裝置標識符分別轉換成句柄類型 HWAVEIN、HWAVEOUT 或 HMIDIOUT。 請注意,如果呼叫端提供有效的句柄,而不是此參數的裝置標識碼,函式會失敗並傳回錯誤碼MMSYSERR_NOSUPPORT。

系統會攔截此訊息,並傳回適當的值,而不會將訊息傳送至設備驅動器。 如需系統攔截 xxxMessage 函式的一般資訊,請參閱 系統攔截的裝置訊息

相較於 DRVM_MAPPER_CONSOLEVOICECOM_GET 訊息,此訊息提供一種方式來判斷一般音訊功能偏好哪一個裝置,這可決定哪些裝置特別適合用於語音通訊。

當 DRVM_MAPPER_PREFERRED_FLAGS_PREFERREDONLY 旗標位設定在 dwParam2 指向的 DWORD 位置時, waveInwaveOut API 只會使用目前的慣用裝置,而且如果慣用裝置無法使用,則不會搜尋其他可用的裝置。 請注意, midiOutMessage 函式不會輸出此旗標-- midiOut API 一律只會使用慣用的裝置。 waveInMessagewaveOutMessage 呼叫所輸出的旗標適用於 waveInwaveOut API 的慣用裝置,不論呼叫 waveInMessage 還是 waveOutMessage

xxx訊息函式會接受此值來取代有效的裝置句柄,以便讓應用程式判斷預設裝置識別碼,而不需要先開啟裝置。 如需詳細資訊,請參閱 存取慣用裝置標識符

規格需求

目標平台

桌面

版本

Microsoft Windows Me 和 Windows 2000 和更新版本的操作系統支援。

標頭

Mmddk.h (包含 Mmddk.h)

另請參閱

存取慣用裝置標識碼

DRVM_MAPPER_CONSOLEVOICECOM_GET

midiInMessage

midiOutMessage

混合器Message

慣用 Voice-Communications 裝置標識碼

系統攔截的裝置訊息

waveInMessage

waveOutMessage