コンテキスト: waveOut ハンドル (HWAVEOUT) の値を認識するコードがあります。ただし、コードはハンドルを作成しなかったため、ハンドルの作成時に waveOutOpen に渡された WAVEFORMATEX は不明です。
waveOutOpen 呼び出しに渡された WAVEFORMATEX 構造体の内容を調べたいと思います。
これが使用される場所の詳細: コードは、waveOutWrite の代わりに呼び出されるフック関数で実行されます。したがって、コードはハンドル値を認識していますが、ハンドル作成の詳細は認識していません。
人々が調べる必要がないように:
waveOutOpen の署名は次のとおりです。
MMRESULT waveOutOpen(
LPHWAVEOUT phwo,
UINT uDeviceID,
LPWAVEFORMATEX pwfx,
DWORD dwCallback,
DWORD dwInstance,
DWORD fdwOpen
);
waveOutWrite のシグネチャは次のとおりです。
MMRESULT waveOutWrite(
HWAVEOUT hwo,
LPWAVEHDR pwh,
UINT cbwh
);
注: waveOutOpen もフックしていますが、フックを作成する前に既に呼び出されている可能性があります。