waveInMessage関数の調査
MMRESULT waveInMessage(
HWAVEIN hwi, //デバイスIDをHWAVEINにキャストしたもの
UINT uMsg, //送信するメッセージ
DWORD_PTR dw1, //返答1
DWORD_PTR dw2 //返答2
);
送信できるメッセージは
DRV_QUERYDEVICEINTERFACESIZE
DRV_QUERYDEVICEINTERFACE
DRV_QUERYDEVNODE
DRV_QUERYMAPPABLE
DRVM_MAPPER_CONSOLEVOICECOM_GET
DRVM_MAPPER_PREFERRED_GET
の6個。
★DRV_QUERYDEVICEINTERFACESIZE
デバイス名のデータ長を調べる。
★DRV_QUERYDEVICEINTERFACE
デバイス名を調べる。
★DRV_QUERYDEVNODE
プラグアンドプレイマネージャーが割り当てた番号を調べる。
Windows 2000以降ではMMSYSERR_NOTSUPPORTEDが返されるらしい。
★DRV_QUERYMAPPABLE
デバイスがマッパーで使用できるかを調べる。
マッパーとは、ソフトウェアとデバイスの間で信号処理をしてくれる存在らしい。
★DRVM_MAPPER_CONSOLEVOICECOM_GET
おそらく「既定の通信デバイス」のデバイスIDを調べる。
デバイスID(HWAVEIN hwi)には、WAVE_MAPPERを入れる。
★DRVM_MAPPER_PREFERRED_GET
おそらく「既定のデバイス」のデバイスIDを調べる。
デバイスIDには、WAVE_MAPPERを入れる。