Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Thema werden ACX- und KMDF-Versionsinformationen erläutert. Eine allgemeine Übersicht über ACX finden Sie in der Übersicht über ACX-Audioklassenerweiterungen.
ACX- und KMDF-Versionen
Use the !wdfkd.wdfldr extension to view version information for ACX. 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
The current version of ACX is 1.1 and is recommended for all new driver development.
Die Unterstützung des Windows-Betriebssystems für ACX-Versionen wird in der folgenden Tabelle beschrieben.
| Operating system | KMDF version | Unterstützte ACX-Version | Version notes |
|---|---|---|---|
| Windows 10, Version 2004 | Minimum 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.
| Operating system | KMDF version | Unterstützte ACX-Version | Version notes |
|---|---|---|---|
| Windows 10, Version 1903 | 1.29 | 1.0 | Pre-release. |
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) can be used to see if a specific function in available in a specific version of ACX. For more information, see ACX_IS_FUNCTION_AVAILABLE macro.
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) described in ACX_IS_STRUCTURE_AVAILABLE macro.
ACX_IS_FIELD_AVAILABLE(StructName, FieldName) described in ACX_IS_FIELD_AVAILABLE macro.
ACX also supports the ACX_DRIVER_VERSION_AVAILABLE_PARAMS_INIT function which can be used to check version information of the audio driver as shown in the following code sample.
ACX_DRIVER_VERSION_AVAILABLE_PARAMS_INIT(&ver, 1, 1);
if (!AcxDriverIsVersionAvailable(driver, &ver))
{
ASSERT(FALSE);
goto exit;
}
See also
ACX_IS_FUNCTION_AVAILABLE macro