Share via


System-Intercepted Gerätemeldungen

Die folgenden Windows-Multimediafunktionen bieten Anrufern die Möglichkeit, Nachrichten an ältere Audiogeräte zu übergeben:

Einige dieser Gerätemeldungen werden direkt vom Gerätetreiber verarbeitet, einige vom System im Auftrag des Geräts.

In diesem Abschnitt werden nur Nachrichten behandelt, die vom System abgefangen und verarbeitet werden, ohne jemals an den Gerätetreiber übergeben zu werden. Vom System abgefangene Nachrichten können das bevorzugte Gerät für die Sprachkommunikation oder die allgemeine Audionutzung erhalten. Darüber hinaus können vom System abgefangene Nachrichten die folgenden Informationen zu einem bestimmten Gerät bereitstellen:

  • Der Name der Geräteschnittstelle

    Informationen zu Geräteschnittstellennamen finden Sie unter Einführung in Geräteschnittstellen.

  • Die Plug & Play Devnode-Nummer des Geräts

    Informationen zu Devnodes finden Sie unter Gerätestruktur.

  • Ob das Gerät von einem Mapper verwendet werden kann

    Ein Mapper wählt ein geeignetes Gerät aus, indem die Anforderungen einer Anwendung einem der verfügbaren Geräte im System zugeordnet werden. Weitere Informationen zu Mappern finden Sie in der Microsoft Windows SDK-Dokumentation.

Informationen zu anderen Arten von Gerätemeldungen finden Sie in der Dokumentation zum Windows SDK.

Eine Xxx-Nachrichtenfunktionweist die folgende Syntax auf:

DWORD XxxMessage(
<device ID>,
    UINT  uMsg,
    DWORD_PTR  dwParam1,
    DWORD_PTR  dwParam2
    );

Der erste Parameter ist eine Geräte-ID. Die auxOutMessage-Funktionsdefinition gibt an, dass dieser Parameter wie erwartet vom Typ UINT sein soll. Bei waveInMessage, waveOutMessage, midiInMessage, midiOutMessage oder mixerMessage muss der Aufrufer jedoch die Geräte-ID so umwandeln, dass er den Typ HWAVEIN, HWAVEOUT, HMIDIIN, HMIDIOUT oder HMIXER behandelt. 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.

Der uMsg-Parameter gibt einen Nachrichtenwert an (z. B. DRV_QUERYDEVICEINTERFACE). Eine Liste der treiberspezifischen Nachrichten finden Sie in der Headerdatei Mmddk.h.

Die Bedeutung der Parameter dwParam1 und dwParam2 hängt von der Nachricht ab. Für eine bestimmte Nachricht kann beispielsweise erforderlich sein, dass dwParam1 ein ULONG-Wert ist. Der Aufrufer muss diesen Wert in den Typ DWORD_PTR umwandeln, um die Funktionsdefinition zu erfüllen.

Die Funktion gibt MMERR_NOERROR zurück, wenn der Aufruf erfolgreich ist, oder einen Fehler status Code, falls dies nicht der Fall ist.

Weitere Informationen zu den Xxx-Nachrichtenfunktionenfinden Sie in der Dokumentation zum Windows SDK.

Die Headerdatei Mmddk.h definiert die folgenden vom System abgefangenen Gerätemeldungen:

DRV_QUERYDEVICEINTERFACE

Weitere Informationen finden Sie unter Abrufen eines Geräteschnittstellennamens.

DRV_QUERYDEVICEINTERFACESIZE

Weitere Informationen finden Sie unter Abrufen eines Geräteschnittstellennamens.

DRV_QUERYDEVNODE

Fragt nach der Devnode-Nummer eines Geräts ab.

DRV_QUERYMAPPABLE

Fragt ab, ob ein Gerät von einem Mapper verwendet werden kann.

DRVM_MAPPER_CONSOLEVOICECOM_GET

Weitere Informationen finden Sie unter Bevorzugte Voice-Communications Geräte-ID.

DRVM_MAPPER_PREFERRED_GET

Weitere Informationen finden Sie unter Zugreifen auf die bevorzugte Geräte-ID.