Informazioni sulla versione di ACX

Questo argomento illustra le informazioni sulla versione di ACX e KMDF. Per una panoramica generale di ACX, vedere Panoramica delle estensioni della classe audio ACX.

Nota

Le intestazioni e le librerie ACX non sono incluse in WDK 10.0.22621.2428 (rilasciate il 24 ottobre 2023), ma sono disponibili nelle versioni precedenti, nonché nella versione più recente (build della serie 25000) Insider Preview di WDK. Per altre informazioni sulle versioni di anteprima di WDK, vedere Installazione di versioni di anteprima di Windows Driver Kit (WDK).

Versioni di ACX e KMDF

Usare l'estensione !wdfkd.wdfldr per visualizzare le informazioni sulla versione per ACX. L'estensione !wdfkd.wdfldr visualizza informazioni sui driver attualmente associati dinamicamente a Windows Driver Framework.

!wdfkd.wdfldr Acx01000.sys

Versione 1.1

La versione corrente di ACX è 1.1 ed è consigliata per tutti i nuovi driver di sviluppo.

Il supporto del sistema operativo Windows per le versioni ACX è descritto nella tabella seguente.

Sistema operativo Versione kmdf Versione ACX supportata Note sulla versione
Windows 10, versione 2004 Minimo 1,31 1.1 Versione pubblica iniziale.

Queste DDI sono state aggiunte nella versione 1.1.

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

Versione non definitiva 1.0

La versione 1.0 non è consigliata per lo sviluppo di nuovi driver, ma è stata usata nelle prime fasi di sviluppo e test dei driver ACX.

Sistema operativo Versione kmdf Versione ACX supportata Note sulla versione
Windows 10, versione 1903 1,29 1.0 Versione non definitive.

Informazioni sulla versione di KMDF

Gli oggetti ACX sono oggetti Windows Driver Framework (WDF) - WDFOBJECT. Per altre informazioni su WDF, vedere Introduzione agli oggetti framework. ACX viene associato a una versione specifica di KMDF in fase di esecuzione. Per altre informazioni, vedere Cronologia delle versioni di KMDF.

Per informazioni sull'installazione di versioni diverse di WDF/KMDF, vedere gli argomenti seguenti:

ACX Associa a una versione specifica di KMDF in fase di esecuzione. Quando Windows carica un driver WDF in modalità kernel, il driver viene associato dinamicamente alla libreria di runtime kmdf (WdfMM000.sys). Più driver possono condividere la stessa immagine della libreria di runtime (DLL) e le librerie di runtime per due versioni principali possono coesistere affiancate. Per informazioni sul controllo delle versioni kmdf, vedere Controllo delle versioni della libreria framework.

Supporto di più versioni ACX

Quando si compila il driver audio, specificare la versione massima e minima del framework ACX che si vuole usare in fase di compilazione. Di conseguenza, il driver audio in fase di esecuzione può presupporre che la versione max/min di DDI sia disponibile, altrimenti il driver audio non viene caricato.

I driver ACX possono essere scritti per l'esecuzione in più versioni di ACX e in fase di esecuzione effettuano la chiamata se una specifica DDI ACX, struttura e così via è presente o meno in tale versione. ACX_IS_FUNCTION_AVAILABLE(FunctionName) può essere usato per verificare se una funzione specifica in disponibile in una versione specifica di ACX. Per altre informazioni, vedere ACX_IS_FUNCTION_AVAILABLE macro.

Il codice seguente fornisce un esempio su come verificare se è disponibile una funzione.

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

Sono disponibili anche queste funzioni simili.

ACX_IS_STRUCTURE_AVAILABLE(StructName) descritto in ACX_IS_STRUCTURE_AVAILABLE macro.

ACX_IS_FIELD_AVAILABLE(StructName, FieldName) descritto in ACX_IS_FIELD_AVAILABLE macro.

ACX supporta anche la funzione ACX_DRIVER_VERSION_AVAILABLE_PARAMS_INIT che può essere usata per controllare le informazioni sulla versione del driver audio, come illustrato nell'esempio di codice seguente.

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

Vedi anche

macro ACX_IS_FUNCTION_AVAILABLE

Panoramica delle estensioni della classe audio ACX

Documentazione di riferimento su ACX