DRVM_MAPPER_CONSOLEVOICECOM_GET 函数
DRVM_MAPPER_CONSOLEVOICECOM_GET 消息会检索首选语音通信设备的设备 ID。
语法
DWORD xxxMessage(
UINT uDeviceID,
UINT uMsg,
DWORD_PTR dwParam1,
DWORD_PTR dwParam2
);
参数
uDeviceID
指定目标设备的 ID。 有关如何强制转换此值以用于相应函数的详细信息,请参阅下面的备注部分。uMsg
调用方在调用 xxxMessage 以处理此设备消息时,将此参数设置为 DRVM_MAPPER_CONSOLEVOICECOM_GET。dwParam1
指向设备 ID 的指针。 此参数指向一个 DWORD 变量,该函数会将当前首选语音通信设备的设备 ID 写入该变量中。 如果没有任何设备符合首选语音通信设备的资格,该函数将写入值 (-1)。dwParam2
指向状态标志的指针。 此参数指向一个 DWORD 变量,该函数会向此变量中写入设备状态标志。 目前仅定义了一个标志位:DRVM_MAPPER_PREFERRED_FLAGS_PREFERREDONLY。 有关更多信息,请参见下面的“备注”部分。
返回值
如果已成功处理消息,则 xxxMessage 函数将返回 MMSYSERR_NOERROR。 否则,将返回相应的错误代码。
注解
此消息仅适用于 waveInMessage 和 waveOutMessage 函数。 当调用方使用 DRVM_MAPPER_CONSOLEVOICECOM_GET 消息调用这两个函数时,它必须将设备 ID 指定为 WAVE_MAPPER,然后将此值强制转换为适当的句柄类型。 对于 waveInMessage、waveOutMessage、midiInMessage、midiOutMessage 或 mixerMessage 函数,调用方必须将设备 ID 分别转换为 HWAVEIN、HWAVEOUT、HMIDIIN、HMIDIOUT 或 HMIXER 类型的句柄。 请注意,如果调用方提供有效的句柄而不是此参数的设备 ID,函数将失败并返回错误代码 MMSYSERR_NOSUPPORT。
系统会截获此消息并返回相应的值,而不将此消息发送到设备驱动程序。 有关系统截获的 xxxMessage 函数的一般信息,请参阅系统截获的设备消息。
此消息提供了一种方法,用于确定哪个设备是语音通信的首选设备,这与 DRVM_MAPPER_PREFERRED_GET 消息形成对比,后者用于确定哪个设备是所有其他音频函数的首选设备。
例如,语音通信的首选 waveOut 设备可能是头戴设备中的耳机,但所有其他音频函数的首选 waveOut 设备可能是一组立体声扬声器。
在 dwParam2 指向的 DWORD 位置中设置 DRVM_MAPPER_PREFERRED_FLAGS_PREFERREDONLY 标志位时,waveIn 和 waveOut API 仅使用当前的首选语音通信设备,如果首选设备不可用,则不会搜索其他可用设备。 waveInMessage 或 waveOutMessage 调用输出的标志适用于 waveIn 和 waveOut API 的首选语音通信设备,无论该调用是针对 waveInMessage 还是 waveOutMessage。 有关详细信息,请参阅首选语音通信设备 ID。
要求
目标平台 |
桌面 |
版本 |
在 Microsoft Windows Me 和 Windows 2000 及更高版本的操作系统中受支持。 |
标头 |
Mmddk.h(包括 Mmddk.h) |