Share via


funzione waveOutMessage (mmeapi.h)

La funzione waveOutMessage invia messaggi ai driver di dispositivo di output waveform-audio.

Sintassi

MMRESULT waveOutMessage(
  HWAVEOUT  hwo,
  UINT      uMsg,
  DWORD_PTR dw1,
  DWORD_PTR dw2
);

Parametri

hwo

Identificatore del dispositivo waveform che riceve il messaggio. È necessario eseguire il cast dell'ID dispositivo al tipo di handle HWAVEOUT . Se si specifica un handle anziché un ID dispositivo, la funzione ha esito negativo e restituisce il codice di errore MMSYSERR_NOSUPPORT.

uMsg

Messaggio da inviare.

dw1

Parametro del messaggio.

dw2

Parametro del messaggio.

Valore restituito

Restituisce il valore restituito dal driver.

Commenti

Il DRV_QUERYDEVICEINTERFACE messaggio esegue query sul nome dell'interfaccia del dispositivo di un dispositivo waveIn, waveOut, midiIn, midiOut o mixer.

Per DRV_QUERYDEVICEINTERFACE, dwParam1 è un puntatore a un buffer allocato dal chiamante in cui la funzione scrive una stringa Unicode con terminazione null contenente il nome dell'interfaccia del dispositivo. Se il dispositivo non ha alcuna interfaccia del dispositivo, la lunghezza della stringa è zero.

Per DRV_QUERYDEVICEINTERFACE, dwParam2 specifica le dimensioni del buffer in byte. Si tratta di un parametro di input per la funzione. Il chiamante deve specificare una dimensione maggiore o uguale alla dimensione del buffer recuperata dal messaggio DRV_QUERYDEVICEINTERFACESIZE .

Il messaggio DRV_QUERYDEVICEINTERFACE è supportato in Windows Me e Windows 2000 e versioni successive. Questo messaggio è valido solo per le funzioni waveInMessage, waveOutMessage, midiInMessage, midiOutMessage e mixerMessage. Il sistema intercetta questo messaggio e restituisce il valore appropriato senza inviare il messaggio al driver del dispositivo. Per informazioni generali sulle funzioni xxxMessage intercettate dal sistema, vedere Messaggi del dispositivo intercettati dal sistema.

Le due costanti dei messaggi seguenti vengono usate insieme per ottenere i nomi dell'interfaccia del dispositivo:

  • DRV_QUERYDEVICEINTERFACESIZE
  • DRV_QUERYDEVICEINTERFACE
Il primo messaggio ottiene le dimensioni in byte del buffer necessario per contenere la stringa contenente il nome dell'interfaccia del dispositivo. Il secondo messaggio recupera la stringa del nome in un buffer delle dimensioni necessarie.

Per altre informazioni, vedere Recupero di un nome dell'interfaccia dispositivo.

Le DRV_QUERYDEVICEINTERFACESIZE query del messaggio per le dimensioni del buffer necessarie per contenere il nome dell'interfaccia del dispositivo.

Per DRV_QUERYDEVICEINTERFACESIZE, dwParam1 è un puntatore alle dimensioni del buffer. Questo parametro punta a una variabile ULONG in cui la funzione scrive le dimensioni del buffer necessarie in byte. Le dimensioni includono spazio di archiviazione per la terminazione null della stringa del nome. La dimensione è zero se l'ID dispositivo identifica un dispositivo che non ha alcuna interfaccia del dispositivo.

Per DRV_QUERYDEVICEINTERFACESIZE, dwParam2 è inutilizzato. Impostare questo parametro su zero.

Questo messaggio è valido solo per le funzioni waveInMessage, waveOutMessage, midiInMessage, midiOutMessage e mixerMessage. Il sistema intercetta questo messaggio e restituisce il valore appropriato senza inviare il messaggio al driver del dispositivo. Per informazioni generali sulle funzioni xxxMessage intercettate dal sistema, vedere Messaggi del dispositivo intercettati dal sistema.

Le dimensioni del buffer recuperate da questo messaggio vengono espresse come conteggio byte. Specifica le dimensioni del buffer necessario per contenere la stringa Unicode con terminazione null contenente il nome dell'interfaccia del dispositivo. Il chiamante alloca un buffer delle dimensioni specificate e usa il messaggio DRV_QUERYDEVICEINTERFACE per recuperare la stringa del nome dell'interfaccia del dispositivo.

Per altre informazioni, vedere Recupero di un nome dell'interfaccia dispositivo.

La DRV_QUERYDEVNODE query del messaggio per il numero di devnode assegnato al dispositivo dal gestore Plug and Play.

Per DRV_QUERYDEVNODE, dwParam1 è un puntatore a una variabile DWORD allocata dal chiamante in cui la funzione scrive il numero di devnode. Se non viene assegnato alcun oggetto devnode al dispositivo, la funzione imposta questa variabile su zero.

Per DRV_QUERYDEVNODE, dwParam2 è inutilizzato. Impostare questo parametro su zero.

In Windows 2000 e versioni successive il messaggio restituisce sempre MMSYSERR_NOTSUPPORTED. Questo messaggio è valido solo per le funzioni waveInMessage, waveOutMessage, midiInMessage, midiOutMessage e mixerMessage. Il sistema intercetta questo messaggio e restituisce il valore appropriato senza inviare il messaggio al driver del dispositivo. Per informazioni generali sulle funzioni xxxMessage intercettate dal sistema, vedere Messaggi del dispositivo intercettati dal sistema.

La DRV_QUERYMAPPABLE query del messaggio per se il dispositivo specificato può essere usato da un mapper.

Per DRV_QUERYMAPPABLE, dwParam1 è inutilizzato. Impostare questo parametro su zero.

Per DRV_QUERYMAPPABLE, dwParam2 è inutilizzato. Impostare questo parametro su zero.

Questo messaggio è valido solo per le funzioni waveInMessage, waveOutMessage, midiInMessage, midiOutMessage, mixerMessage e auxOutMessage. Il sistema intercetta questo messaggio e restituisce il valore appropriato senza inviare il messaggio al driver del dispositivo. Per informazioni generali sulle funzioni xxxMessage intercettate dal sistema, vedere Messaggi del dispositivo intercettati dal sistema.

Quando un programma applicazione apre un mapper anziché un dispositivo audio specifico, il sistema inserisce un mapper tra l'applicazione e i dispositivi disponibili. Il mapper seleziona un dispositivo appropriato eseguendo il mapping dei requisiti dell'applicazione a uno dei dispositivi disponibili. Per altre informazioni sui mapping, vedere la documentazione di Microsoft Windows SDK.

Il DRVM_MAPPER_CONSOLEVOICECOM_GET messaggio recupera l'ID dispositivo del dispositivo preferito per le comunicazioni vocali.

Per DRVM_MAPPER_CONSOLEVOICECOM_GET, dwParam1 è un puntatore all'ID dispositivo. Questo parametro punta a una variabile DWORD in cui la funzione scrive l'ID dispositivo del dispositivo di comunicazione vocale preferito corrente. La funzione scrive il valore (-1) se nessun dispositivo è disponibile che qualifica come dispositivo di comunicazione vocale preferito.

Per DRVM_MAPPER_CONSOLEVOICECOM_GET, dwParam2 è un puntatore ai flag di stato. Questo parametro punta a una variabile DWORD in cui la funzione scrive i flag di stato del dispositivo. È attualmente definito un solo bit di flag: DRVM_MAPPER_PREFERRED_FLAGS_PREFERREDONLY.

Questo messaggio è valido solo per le funzioni waveInMessage e waveOutMessage . Quando un chiamante chiama queste due funzioni con il messaggio DRVM_MAPPER_CONSOLEVOICECOM_GET, il chiamante deve specificare l'ID dispositivo come WAVE_MAPPER e quindi eseguire il cast di questo valore al tipo di handle appropriato. Per le funzioni waveInMessage, waveOutMessage, midiInMessage, midiOutMessage o mixerMessage, il chiamante deve eseguire rispettivamente il cast dell'ID dispositivo in un handle di tipo HWAVEIN, HWAVEOUT, HMIDIIN, HMIDIOUT o HMIXER. Si noti che se il chiamante fornisce un handle valido anziché un ID dispositivo per questo parametro, la funzione ha esito negativo e restituisce il codice di errore MMSYSERR_NOSUPPORT.

Il sistema intercetta questo messaggio e restituisce il valore appropriato senza inviare il messaggio al driver del dispositivo. Per informazioni generali sulle funzioni xxxMessage intercettate dal sistema, vedere Messaggi del dispositivo intercettati dal sistema.

Questo messaggio consente di determinare quale dispositivo è preferito specificamente per le comunicazioni vocali, in contrasto con il messaggio DRVM_MAPPER_PREFERRED_GET , che determina quale dispositivo è preferito per tutte le altre funzioni audio.

Ad esempio, il dispositivo waveOut preferito per le comunicazioni vocali potrebbe essere l'orecchio in un visore visore, ma il dispositivo waveOut preferito per tutte le altre funzioni audio potrebbe essere un set di altoparlanti stereo.

Quando il bit di DRVM_MAPPER_PREFERRED_FLAGS_PREFERREDONLY flag viene impostato nella posizione DWORD a cui punta dwParam2, le API waveIn e waveOut usano solo il dispositivo di comunicazione vocale preferito corrente e non cercare altri dispositivi disponibili se il dispositivo preferito non è disponibile. Il flag che viene restituito dalla chiamata waveInMessage o waveOutMessage si applica al dispositivo di comunicazione vocale preferito per le API waveIn e waveOut, indipendentemente dal fatto che la chiamata venga effettuata a waveInMessage o waveOutMessage. Per altre informazioni, vedere Id dispositivo preferito Voice-Communications.

Il DRVM_MAPPER_PREFERRED_GET messaggio recupera l'ID dispositivo del dispositivo preferito.

Per DRVM_MAPPER_PREFERRED_GET, dwParam1 è un puntatore all'ID dispositivo. Questo parametro punta a una variabile DWORD in cui la funzione scrive l'ID dispositivo del dispositivo preferito corrente. La funzione scrive il valore (-1) se nessun dispositivo è disponibile che qualifica come dispositivo preferito.

Per DRVM_MAPPER_PREFERRED_GET, dwParam2 è un puntatore ai flag di stato. Questo parametro punta a una variabile DWORD in cui la funzione scrive i flag di stato del dispositivo. È attualmente definito un solo bit di flag (solo per le chiamate waveInMessage e waveOutMessage ): DRVM_MAPPER_PREFERRED_FLAGS_PREFERREDONLY.

Questo messaggio è valido solo per le funzioni waveInMessage, waveOutMessage e midiOutMessage. Quando il chiamante chiama queste funzioni con il messaggio DRVM_MAPPER_PREFERRED_GET, il chiamante deve prima specificare l'ID dispositivo come WAVE_MAPPER (per waveInMessage o waveOutMessage) o MIDI_MAPPER (per midiOutMessage) e quindi eseguire il cast di questo valore al tipo di handle appropriato. Per le funzioni waveInMessage, waveOutMessage o midiOutMessage, il chiamante deve eseguire rispettivamente il cast dell'ID dispositivo in un tipo di handle HWAVEIN, HWAVEOUT o HMIDIOUT. Si noti che se il chiamante fornisce un handle valido anziché un ID dispositivo per questo parametro, la funzione ha esito negativo e restituisce il codice di errore MMSYSERR_NOSUPPORT.

Il sistema intercetta questo messaggio e restituisce il valore appropriato senza inviare il messaggio al driver del dispositivo. Per informazioni generali sulle funzioni xxxMessage intercettate dal sistema, vedere Messaggi del dispositivo intercettati dal sistema.

Questo messaggio consente di determinare quale dispositivo è preferito per le funzioni audio in generale, a differenza del messaggio DRVM_MAPPER_CONSOLEVOICECOM_GET , che determina quale dispositivo è preferito specificamente per le comunicazioni vocali.

Quando il bit di flag DRVM_MAPPER_PREFERRED_FLAGS_PREFERREDONLY è impostato nella posizione DWORD a cui punta dwParam2, le API waveIn e waveOut usano solo il dispositivo preferito corrente e non cercare altri dispositivi disponibili se il dispositivo preferito non è disponibile. Si noti che la funzione midiOutMessage non restituisce questo flag: l'API midiOut usa sempre solo il dispositivo preferito. Il flag restituito dalla chiamata waveInMessage o waveOutMessage si applica al dispositivo preferito per le API waveIn ewaveOut, indipendentemente dal fatto che la chiamata venga effettuata a waveInMessage o waveOutMessage.

Le funzioni xxxMessage accettano questo valore al posto di un handle di dispositivo valido per consentire a un'applicazione di determinare l'ID dispositivo predefinito senza dover prima aprire un dispositivo. Per altre informazioni, vedere Accesso all'ID dispositivo preferito.

Requisiti

   
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione mmeapi.h (includere Windows.h)
Libreria Winmm.lib
DLL Winmm.dll

Vedi anche

Waveform Audio

Funzioni waveform