上下文:我有一段知道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