waveInMessage-Funktion (mmeapi.h)

Die waveInMessage-Funktion sendet Nachrichten an die Waveform-Audioeingabegerätetreiber.

Syntax

MMRESULT waveInMessage(
  HWAVEIN   hwi,
  UINT      uMsg,
  DWORD_PTR dw1,
  DWORD_PTR dw2
);

Parameter

hwi

Bezeichner des Wellenformgeräts, das die Nachricht empfängt. Sie müssen die Geräte-ID in den HWAVEIN-Handle-Typ umwandeln. Wenn Sie anstelle einer Geräte-ID ein Handle angeben, schlägt die Funktion fehl und gibt den MMSYSERR_NOSUPPORT Fehlercode zurück.

uMsg

Nachricht, die gesendet werden soll.

dw1

Nachrichtenparameter.

dw2

Nachrichtenparameter.

Rückgabewert

Gibt den vom Treiber zurückgegebenen Wert zurück.

Hinweise

Die DRV_QUERYDEVICEINTERFACE Nachricht fragt den Geräteschnittstellennamen eines waveIn-, waveOut-, midiIn-, midiOut- oder Mixer-Geräts ab.

Für DRV_QUERYDEVICEINTERFACEist dwParam1 ein Zeiger auf einen vom Aufrufer zugewiesenen Puffer, in den die Funktion eine unicode-Zeichenfolge mit Null-Termin schreibt, die den Namen der Geräteschnittstelle enthält. Wenn das Gerät über keine Geräteschnittstelle verfügt, ist die Zeichenfolgenlänge 0.

Für DRV_QUERYDEVICEINTERFACEgibt dwParam2 die Puffergröße in Bytes an. Dies ist ein Eingabeparameter für die Funktion. Der Aufrufer sollte eine Größe angeben, die größer oder gleich der Puffergröße ist, die von der DRV_QUERYDEVICEINTERFACESIZE Nachricht abgerufen wird.

Die DRV_QUERYDEVICEINTERFACE Nachricht wird in Windows Me und Windows 2000 und höher unterstützt. Diese Nachricht ist nur für die Funktionen waveInMessage, waveOutMessage, midiInMessage, midiOutMessage und mixerMessage gültig. Das System fängt diese Nachricht ab und gibt den entsprechenden Wert zurück, ohne die Nachricht an den Gerätetreiber zu senden. Allgemeine Informationen zu vom System abgefangenen xxxMessage-Funktionen finden Sie unter System-Intercepted Device Messages.

Die folgenden beiden Nachrichtenkonstanten werden zusammen zum Abrufen von Geräteschnittstellennamen verwendet:

  • DRV_QUERYDEVICEINTERFACESIZE
  • DRV_QUERYDEVICEINTERFACE
Die erste Nachricht erhält die Größe des Puffers in Bytes, die erforderlich ist, um die Zeichenfolge mit dem Namen der Geräteschnittstelle zu enthalten. Die zweite Nachricht ruft die Namenszeichenfolge in einem Puffer der erforderlichen Größe ab.

Weitere Informationen finden Sie unter Abrufen eines Geräteschnittstellennamens.

Die DRV_QUERYDEVICEINTERFACESIZE Meldung fragt die Größe des Puffers ab, die erforderlich ist, um den Namen der Geräteschnittstelle zu enthalten.

Für DRV_QUERYDEVICEINTERFACESIZEist dwParam1 ein Zeiger auf die Puffergröße. Dieser Parameter verweist auf eine ULONG-Variable, in die die Funktion die erforderliche Puffergröße in Bytes schreibt. Die Größe enthält Speicherplatz für die endende Null der Namenszeichenfolge. Die Größe ist 0, wenn die Geräte-ID ein Gerät ohne Geräteschnittstelle identifiziert.

Für DRV_QUERYDEVICEINTERFACESIZEist dwParam2 nicht verwendet. Legen Sie diesen Parameter auf 0 fest.

Diese Nachricht ist nur für die Funktionen waveInMessage, waveOutMessage, midiInMessage, midiOutMessage und mixerMessage gültig. Das System fängt diese Nachricht ab und gibt den entsprechenden Wert zurück, ohne die Nachricht an den Gerätetreiber zu senden. Allgemeine Informationen zu vom System abgefangenen xxxMessage-Funktionen finden Sie unter System-Intercepted Device Messages.

Die von dieser Nachricht abgerufene Puffergröße wird als Byteanzahl ausgedrückt. Sie gibt die Größe des Puffers an, der erforderlich ist, um die Unicode-Zeichenfolge mit Null-Endung zu enthalten, die den Geräteschnittstellennamen enthält. Der Aufrufer weist einen Puffer der angegebenen Größe zu und verwendet die DRV_QUERYDEVICEINTERFACE Nachricht, um die Zeichenfolge des Geräteschnittstellennamens abzurufen.

Weitere Informationen finden Sie unter Abrufen eines Geräteschnittstellennamens.

Die DRV_QUERYDEVNODE Nachricht fragt die devnode-Nummer ab, die dem Gerät vom Plug & Play-Manager zugewiesen wurde.

Für DRV_QUERYDEVNODEist dwParam1 ein Zeiger auf eine vom Aufrufer zugewiesene DWORD-Variable, in die die Funktion die Devnodenummer schreibt. Wenn dem Gerät kein Devnode zugewiesen ist, legt die Funktion diese Variable auf Null fest.

Für DRV_QUERYDEVNODEist dwParam2 nicht verwendet. Legen Sie diesen Parameter auf 0 fest.

In Windows 2000 und höher gibt die Nachricht immer MMSYSERR_NOTSUPPORTED zurück. Diese Nachricht ist nur für die Funktionen waveInMessage, waveOutMessage, midiInMessage, midiOutMessage und mixerMessage gültig. Das System fängt diese Nachricht ab und gibt den entsprechenden Wert zurück, ohne die Nachricht an den Gerätetreiber zu senden. Allgemeine Informationen zu vom System abgefangenen xxxMessage-Funktionen finden Sie unter System-Intercepted Device Messages.

Die DRV_QUERYMAPPABLE Nachricht fragt ab, ob das angegebene Gerät von einem Mapper verwendet werden kann.

Für DRV_QUERYMAPPABLEist dwParam1 nicht verwendet. Legen Sie diesen Parameter auf 0 fest.

Für DRV_QUERYMAPPABLEist dwParam2 nicht verwendet. Legen Sie diesen Parameter auf 0 fest.

Diese Nachricht ist nur für die Funktionen waveInMessage, waveOutMessage, midiInMessage, midiOutMessage, mixerMessage und auxOutMessage gültig. Das System fängt diese Nachricht ab und gibt den entsprechenden Wert zurück, ohne die Nachricht an den Gerätetreiber zu senden. Allgemeine Informationen zu vom System abgefangenen xxxMessage-Funktionen finden Sie unter System-Intercepted Device Messages.

Wenn ein Anwendungsprogramm anstelle eines bestimmten Audiogeräts einen Mapper öffnet, fügt das System einen Mapper zwischen der Anwendung und den verfügbaren Geräten ein. Der Mapper wählt ein geeignetes Gerät aus, indem die Anforderungen der Anwendung einem der verfügbaren Geräte zugeordnet werden. Weitere Informationen zu Mappern finden Sie in der Microsoft Windows SDK-Dokumentation.

Die DRVM_MAPPER_CONSOLEVOICECOM_GET Nachricht ruft die Geräte-ID des bevorzugten Sprachkommunikationsgeräts ab.

Für DRVM_MAPPER_CONSOLEVOICECOM_GETist dwParam1 ein Zeiger auf die Geräte-ID. Dieser Parameter verweist auf eine DWORD-Variable, in die die Funktion die Geräte-ID des aktuell bevorzugten Sprachkommunikationsgeräts schreibt. Die Funktion schreibt den Wert (-1), wenn kein Gerät verfügbar ist, das als bevorzugtes Sprachkommunikationsgerät gilt.

Für DRVM_MAPPER_CONSOLEVOICECOM_GETist dwParam2 ein Zeiger auf status Flags. Dieser Parameter verweist auf eine DWORD-Variable, in die die Funktion die Geräte-status-Flags schreibt. Derzeit ist nur ein Flagbit definiert: DRVM_MAPPER_PREFERRED_FLAGS_PREFERREDONLY.

Diese Nachricht ist nur für die Funktionen waveInMessage und waveOutMessage gültig. Wenn ein Aufrufer diese beiden Funktionen mit der DRVM_MAPPER_CONSOLEVOICECOM_GET-Nachricht aufruft, muss der Aufrufer die Geräte-ID als WAVE_MAPPER angeben und diesen Wert dann in den entsprechenden Handle-Typ umwandeln. Für die Funktionen waveInMessage, waveOutMessage, midiInMessage, midiOutMessage oder mixerMessage muss der Aufrufer die Geräte-ID in einen Handle vom Typ HWAVEIN, HWAVEOUT, HMIDIIN, HMIDIOUT oder HMIXER umwandeln. Wenn der Aufrufer ein gültiges Handle anstelle einer Geräte-ID für diesen Parameter bereitstellt, schlägt die Funktion fehl und gibt den Fehlercode MMSYSERR_NOSUPPORT zurück.

Das System fängt diese Nachricht ab und gibt den entsprechenden Wert zurück, ohne die Nachricht an den Gerätetreiber zu senden. Allgemeine Informationen zu vom System abgefangenen xxxMessage-Funktionen finden Sie unter System-Intercepted Device Messages.

Diese Nachricht bietet eine Möglichkeit, zu bestimmen, welches Gerät speziell für die Sprachkommunikation bevorzugt wird, im Gegensatz zur DRVM_MAPPER_PREFERRED_GET Nachricht, die bestimmt, welches Gerät für alle anderen Audiofunktionen bevorzugt wird.

Beispielsweise kann das bevorzugte waveOut-Gerät für die Sprachkommunikation der Ohrhörer in einem Headset sein, aber das bevorzugte waveOut-Gerät für alle anderen Audiofunktionen kann eine Reihe von Stereolautsprechern sein.

Wenn das DRVM_MAPPER_PREFERRED_FLAGS_PREFERREDONLY Flagbits an der DWORD-Position festgelegt ist, auf die dwParam2 verweist, verwenden die waveIn - und waveOut-APIs nur das aktuell bevorzugte Sprachkommunikationsgerät und suchen nicht nach anderen verfügbaren Geräten, wenn das bevorzugte Gerät nicht verfügbar ist. Das Flag, das entweder vom waveInMessage - oder waveOutMessage-Aufruf ausgegeben wird, gilt für das bevorzugte Sprachkommunikationsgerät sowohl für die waveIn - als auch für die waveOutMessage-APIs , unabhängig davon, ob der Aufruf an waveInMessage oder waveOutMessage erfolgt. Weitere Informationen finden Sie unter Bevorzugte Voice-Communications Geräte-ID.

Die DRVM_MAPPER_PREFERRED_GET Meldung ruft die Geräte-ID des bevorzugten Audiogeräts ab.

Für DRVM_MAPPER_PREFERRED_GETist dwParam1 ein Zeiger auf die Geräte-ID. Dieser Parameter verweist auf eine DWORD-Variable, in die die Funktion die Geräte-ID des aktuell bevorzugten Geräts schreibt. Die Funktion schreibt den Wert (-1), wenn kein Gerät verfügbar ist, das als bevorzugtes Gerät gilt.

Für DRVM_MAPPER_PREFERRED_GETist dwParam2 ein Zeiger auf status Flags. Dieser Parameter verweist auf eine DWORD-Variable, in die die Funktion die Geräte-status-Flags schreibt. Derzeit ist nur ein Flagbit definiert (nur für waveInMessage - und waveOutMessage-Aufrufe ): DRVM_MAPPER_PREFERRED_FLAGS_PREFERREDONLY.

Diese Nachricht ist nur für die Funktionen waveInMessage, waveOutMessage und midiOutMessage gültig. Wenn der Aufrufer diese Funktionen mit der DRVM_MAPPER_PREFERRED_GET-Nachricht aufruft, muss der Aufrufer zuerst die Geräte-ID als WAVE_MAPPER (für waveInMessage oder waveOutMessage) oder MIDI_MAPPER (für midiOutMessage) angeben und diesen Wert dann in den entsprechenden Handle-Typ umwandeln. Für die Funktionen waveInMessage, waveOutMessage oder midiOutMessage muss der Aufrufer die Geräte-ID in einen Handle-Typ HWAVEIN, HWAVEOUT oder HMIDIOUT umwandeln. Wenn der Aufrufer ein gültiges Handle anstelle einer Geräte-ID für diesen Parameter bereitstellt, schlägt die Funktion fehl und gibt den Fehlercode MMSYSERR_NOSUPPORT zurück.

Das System fängt diese Nachricht ab und gibt den entsprechenden Wert zurück, ohne die Nachricht an den Gerätetreiber zu senden. Allgemeine Informationen zu vom System abgefangenen xxxMessage-Funktionen finden Sie unter System-Intercepted Device Messages.

Diese Nachricht bietet eine Möglichkeit, zu bestimmen, welches Gerät für Audiofunktionen im Allgemeinen bevorzugt wird, im Gegensatz zur DRVM_MAPPER_CONSOLEVOICECOM_GET Nachricht, die bestimmt, welches Gerät speziell für die Sprachkommunikation bevorzugt wird.

Wenn das DRVM_MAPPER_PREFERRED_FLAGS_PREFERREDONLY Flagbit an der DWORD-Position festgelegt wird, auf die dwParam2 verweist, verwenden die waveIn - und waveOut-APIs nur das aktuell bevorzugte Gerät und suchen nicht nach anderen verfügbaren Geräten, wenn das bevorzugte Gerät nicht verfügbar ist. Beachten Sie, dass die midiOutMessage-Funktion dieses Flag nicht ausgibt. Die midiOut-API verwendet immer nur das bevorzugte Gerät. Das Flag, das entweder vom waveInMessage - oder waveOutMessage-Aufruf ausgegeben wird, gilt für das bevorzugte Gerät sowohl für die waveIn - als auch für die waveOut-APIs , unabhängig davon, ob der Aufruf an waveInMessage oder waveOutMessage erfolgt.

Die xxx-Nachrichtenfunktionenakzeptieren diesen Wert anstelle eines gültigen Gerätehandles, damit eine Anwendung die Standardgeräte-ID ermitteln kann, ohne zuvor ein Gerät öffnen zu müssen. Weitere Informationen finden Sie unter Zugreifen auf die bevorzugte Geräte-ID.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile mmeapi.h (einschließlich Windows.h)
Bibliothek Winmm.lib
DLL Winmm.dll

Weitere Informationen

Waveform Audio

Wellenformfunktionen