Dela via


Information om ACX-version

I det här avsnittet beskrivs information om ACX- och KMDF-version. En allmän översikt över ACX finns i översikten över ACX-ljudklasstillägg.

ACX- och KMDF-versioner

Use the !wdfkd.wdfldr extension to view version information for ACX. Tillägget !wdfkd.wdfldr visar information om de drivrutiner som för närvarande är dynamiskt bundna till Windows Driver Frameworks.

!wdfkd.wdfldr Acx01000.sys

Version 1.1

The current version of ACX is 1.1 and is recommended for all new driver development.

Windows OS-stöd för ACX-versioner beskrivs i följande tabell.

Operating system KMDF version ACX-version som stöds Version notes
Windows 10, version 2004 Minimum 1.31 1.1 Första offentliga versionen.

Dessa DDI:er lades till i version 1.1.

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

Förhandsversion 1.0

Version 1.0 rekommenderas inte för utveckling av nya drivrutiner, men den användes i tidig utveckling och testning av ACX-drivrutiner.

Operating system KMDF version ACX-version som stöds Version notes
Windows 10, version 1903 1.29 1.0 Pre-release.

Information om KMDF-version

ACX-objekt är WDF-objekt (Windows Driver Framework) – WDFOBJECT. Mer information om WDF finns i Introduktion till ramverksobjekt. ACX binder till en specifik version av KMDF vid körning. Mer information finns i KMDF-versionshistorik.

Information om hur du installerar olika versioner av WDF/KMDF finns i följande avsnitt:

ACX binder till en specifik version av KMDF vid körning. När Windows läser in en WDF-drivrutin i kernelläge är drivrutinen dynamiskt bunden till KMDF-körningsbiblioteket (WdfMM000.sys). Flera drivrutiner kan dela samma körningsbiblioteksbild (DLL) och körningsbiblioteken för två huvudversioner kan samexistera sida vid sida. Information om KMDF-versionshantering finns i Ramverksbiblioteksversioner.

Stöd för flera ACX-versioner

När du skapar ljuddrivrutinen anger du den högsta och lägsta versionen av ACX-ramverket som du vill använda vid kompileringstillfället. Därför kan ljuddrivrutinen vid körning förutsätta att max/min-versionen av DDI är tillgänglig, annars går det inte att läsa in ljuddrivrutinen.

ACX-drivrutiner kan skrivas för att köras på flera versioner av ACX och vid körning göra anropet om en specifik ACX DDI, struktur osv. finns eller inte finns i den versionen. 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.

Följande kod innehåller ett exempel på hur du kontrollerar om en funktion är tillgänglig.

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

Dessa liknande funktioner är också tillgängliga.

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

översikt över ACX-ljudklasstillägg

ACX-referensdokumentation