上下文:我有一段知道waveOut句柄(HWAVEOUT)值的代码。但是,代码并未创建句柄,因此在创建句柄时传递给waveOutOpen的WAVEFORMATEX未知。HWAVEOUT句柄的查询波形格式
我想找出传递给waveOutOpen调用的WAVEFORMATEX结构的内容。
更多细节在何处使用:代码运行在调用的hook函数中,而不是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 ,但它可能已经被调用之前,我有一个钩子。
这是为了捕获正在播放的声音而挂接waveOut API的项目的一部分。正在回放的波形的参数可以通过截取waveOutOpen获得。但是,有一种情况是waveOutOpen的调用不会被捕获(即在调用waveOutOpen之后发生挂钩)。 HTH。 Dan – 2009-12-27 13:18:27