Contexte: J'ai un morceau de code qui connaît la valeur d'un handle waveOut (HWAVEOUT). Cependant le code n'a pas créé le handle, ainsi le WAVEFORMATEX qui a été passé à waveOutOpen lors de la création du handle est inconnu.Format d'onde de requête pour un handle HWAVEOUT
Je souhaite connaître le contenu de cette structure WAVEFORMATEX qui a été transmise à l'appel waveOutOpen.
Plus de détails où cela est utilisé: Le code s'exécute dans une fonction de hook invoquée à la place de waveOutWrite. Ainsi, le code connaît la valeur du handle, mais ne connaît pas les détails de la création du handle.
Juste pour que les gens ne ont pas besoin de le chercher:
La signature de waveOutOpen est
MMRESULT waveOutOpen(
LPHWAVEOUT phwo,
UINT uDeviceID,
LPWAVEFORMATEX pwfx,
DWORD dwCallback,
DWORD dwInstance,
DWORD fdwOpen
);
La signature de waveOutWrite est:
MMRESULT waveOutWrite(
HWAVEOUT hwo,
LPWAVEHDR pwh,
UINT cbwh
);
Note: Je suis également accrochage waveOutOpen , mais il pourrait déjà être appelé avant que j'ai un crochet.
Cela fait partie d'un projet qui utilise des API waveOut pour capturer le son en cours de lecture. Les paramètres de l'onde en cours de lecture peuvent être obtenus en interceptant waveOutOpen. Cependant, il y a un cas où l'appel à waveOutOpen ne serait pas intercepté (c'est-à-dire quand l'accrochage se produit après l'appel à waveOutOpen). HTH. Dan –