ACX-Versionsinformationen

In diesem Thema werden ACX- und KMDF-Versionsinformationen erläutert. Eine allgemeine Übersicht über ACX finden Sie in der Übersicht über ACX-Audioklassenerweiterungen.

Hinweis

Die ACX-Header und -Bibliotheken sind nicht in den WDK 10.0.22621.2428 (veröffentlicht am 24. Oktober 2023) enthalten, sind aber in früheren Versionen sowie in den neuesten (25000-Serienbuilds) Insider Preview des WDK verfügbar. Weitere Informationen zu Vorschauversionen des WDK finden Sie unter Installieren von Vorschauversionen des Windows Driver Kit (WDK).

ACX- und KMDF-Versionen

Verwenden Sie die Erweiterung !wdfkd.wdfldr , um Versionsinformationen für ACX anzuzeigen. Die Erweiterung "!wdfkd.wdfldr" zeigt Informationen zu den Treibern an, die derzeit dynamisch an die Windows-Treiberframeworks gebunden sind.

!wdfkd.wdfldr Acx01000.sys

Version 1.1

Die aktuelle Version von ACX ist 1.1 und wird für alle neuen Treiberentwicklung empfohlen.

Die Unterstützung des Windows-Betriebssystems für ACX-Versionen wird in der folgenden Tabelle beschrieben.

Betriebssystem KMDF-Version Unterstützte ACX-Version Versionshinweise
Windows 10, Version 2004 Mindestens 1,31 1.1 Erste öffentliche Veröffentlichung.

Diese DDIs wurden in Version 1.1 hinzugefügt.

  • AcxCircuitGetElementsCount
  • AcxCircuitGetPinsCount
  • AcxCircuitGetSymbolicLinkName
  • AcxCircuitGetNotificationId
  • AcxFactoryCircuitGetSymbolicLinkName
  • AcxDataFormatListRemoveDataFormats
  • AcxPinRemoveModeDataFormatList
  • AcxStreamGetElementsCount
  • AcxStreamGetNotificationId
  • AcxTargetCircuitGetSymbolicLinkName
  • AcxTargetPinFlushModeDataFormatListCache

Vorabversion 1.0

Version 1.0 wird nicht für die entwicklung neuer Treiber empfohlen, wurde aber bei der frühen Entwicklung und dem Testen von ACX-Treibern verwendet.

Betriebssystem KMDF-Version Unterstützte ACX-Version Versionshinweise
Windows 10, Version 1903 1.29 1.0 Vorabversion.

KMDF-Versionsinformationen

ACX-Objekte sind Windows Driver Framework (WDF)-Objekte – WDFOBJECT. Weitere Informationen zu WDF finden Sie in der Einführung in Framework-Objekte. ACX bindet zur Laufzeit an eine bestimmte Version von KMDF. Weitere Informationen finden Sie im KMDF-Versionsverlauf.

Informationen zum Installieren verschiedener Versionen von WDF/KMDF finden Sie in den folgenden Themen:

ACX bindet zur Laufzeit an eine bestimmte Version von KMDF. Wenn Windows einen Kernelmodus-WDF-Treiber lädt, wird der Treiber dynamisch an die KMDF-Laufzeitbibliothek (WdfMM000.sys) gebunden. Mehrere Treiber können das gleiche Laufzeitbibliotheksimage (DLL) gemeinsam nutzen, und die Laufzeitbibliotheken für zwei Hauptversionen können nebeneinander vorhanden sein. Informationen zur KMDF-Versionsverwaltung finden Sie unter Framework Library Versionsing.

Unterstützung mehrerer ACX-Versionen

Wenn Sie den Audiotreiber erstellen, geben Sie die maximale und mindeste Version des ACX-Frameworks an, das Sie zur Kompilierungszeit verwenden möchten. Daher kann der Audiotreiber zur Laufzeit davon ausgehen, dass die max/min-Version von DDI verfügbar ist, andernfalls kann der Audiotreiber nicht geladen werden.

ACX-Treiber können für die Ausführung in mehreren Versionen von ACX geschrieben werden und zur Laufzeit den Aufruf vornehmen, wenn eine bestimmte ACX DDI, Struktur usw. in dieser Version vorhanden ist oder nicht. ACX_IS_FUNCTION_AVAILABLE(FunctionName) kann verwendet werden, um festzustellen, ob eine bestimmte Funktion in einer bestimmten Version von ACX verfügbar ist. Weitere Informationen finden Sie unter ACX_IS_FUNCTION_AVAILABLE Makro.

Der folgende Code enthält ein Beispiel zum Überprüfen, ob eine Funktion verfügbar ist.

    if (ACX_IS_FUNCTION_AVAILABLE( AcxTargetPinFlushModeDataFormatListCache)) {
        DbgPrint("Available:  AcxTargetPinFlushModeDataFormatListCache\n");
    }
    else
    {
        DbgPrint("Not available:  AcxTargetPinFlushModeDataFormatListCache\n");
        ASSERT(FALSE);
    }

Auch verfügbar sind diese ähnlichen Funktionen.

ACX_IS_STRUCTURE_AVAILABLE(StructName) beschrieben in ACX_IS_STRUCTURE_AVAILABLE Makro.

ACX_IS_FIELD_AVAILABLE(StructName, FieldName) beschrieben in ACX_IS_FIELD_AVAILABLE Makro.

ACX unterstützt auch die ACX_DRIVER_VERSION_AVAILABLE_PARAMS_INIT-Funktion , die verwendet werden kann, um Versionsinformationen des Audiotreibers zu überprüfen, wie im folgenden Codebeispiel gezeigt.

    ACX_DRIVER_VERSION_AVAILABLE_PARAMS_INIT(&ver, 1, 1);
    if (!AcxDriverIsVersionAvailable(driver, &ver))
    {
        ASSERT(FALSE);
        goto exit;
    } 

Weitere Informationen

ACX_IS_FUNCTION_AVAILABLE-Makro

Übersicht über ACX-Audioklassenerweiterungen

ACX-Referenzdokumentation