共用方式為


ACX 版本資訊

本主題討論 ACX 和 KMDF 版本資訊。 如需 ACX 的一般概觀,請參閱ACX 音訊類別延伸模組概觀。

ACX 和 KMDF 版本

Use the !wdfkd.wdfldr extension to view version information for ACX. !wdfkd.wdfldr 延伸模組會顯示目前動態系結至 Windows 驅動程式架構之驅動程式的相關資訊。

!wdfkd.wdfldr Acx01000.sys

Version 1.1

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

下表說明 ACX 版本的 Windows OS 支援。

Operating system KMDF version 支援的 ACX 版本 Version notes
Windows 10 (版本 2004) Minimum 1.31 1.1 首次公開發布。

這些 DDI 是在 1.1 版中新增的。

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

發行前 1.0 版本

不建議將 1.0 版用於新的驅動程式開發,但它已用於 ACX 驅動程式的早期開發和測試。

Operating system KMDF version 支援的 ACX 版本 Version notes
Windows 10 版本 1903 1.29 1.0 Pre-release.

KMDF 版本資訊

ACX 物件是 Windows 驅動程式架構 (WDF) 物件 - WDFOBJECT。 如需 WDF 的詳細資訊,請參閱 架構物件簡介。 ACX 會在運行時間系結至特定版本的 KMDF。 如需詳細資訊,請參閱 KMDF 版本歷程記錄

如需安裝不同版本 WDF/KMDF 的相關資訊,請參閱下列主題:

ACX 在運行時間系結至特定版本的 KMDF。 當 Windows 載入核心模式 WDF 驅動程式時,驅動程式會動態系結至 KMDF 執行時間程式庫 (WdfMM000.sys) 。 多個驅動程式可以共用相同的執行時間程式庫 (DLL) 映像,而兩個主要版本的執行時間程式庫可以並存。 如需 KMDF 版本設定的相關資訊,請參閱 架構程式庫版本設定

多個 ACX 版本支援

當您建置音訊驅動程式時,您可以指定您想要在編譯時使用的 ACX 架構的最大和最小版本。 因此,執行階段的音訊驅動程式可以假設 DDI 的最大/最小版本可用,否則音訊驅動程式無法載入。

ACX 驅動程式可以撰寫為在多個版本的 ACX 上執行,並在執行階段進行呼叫,如果該版本中存在或不存在特定的 ACX DDI、結構等。 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.

下列程式碼提供如何檢查函式是否可用的範例。

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

這些類似的功能也可用。

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

ACX 音訊類別擴充功能概觀

ACX 參考文件