Поделиться через


функция обратного вызова EVT_ACX_CIRCUIT_COMPOSITE_DEINITIALIZE (acxcircuit.h)

Обратный вызов EVT_ACX_CIRCUIT_COMPOSITE_CIRCUIT_DEINITIALIZE используется драйвером для выполнения любой деинициализации составного канала при деинициализации диспетчером ACX.

Синтаксис

EVT_ACX_CIRCUIT_COMPOSITE_DEINITIALIZE EvtAcxCircuitCompositeDeinitialize;

void EvtAcxCircuitCompositeDeinitialize(
  WDFDEVICE Device,
  ACXCIRCUIT Circuit,
  ACXOBJECTBAG CompositeProperties
)
{...}

Параметры

Device

Объект WDFDEVICE ( описанный в разделе Сводка объектов платформы), связанный с указанным ACXCIRCUIT.

Circuit

Деинициализируемый объект ACXCIRCUIT. Дополнительные сведения об объектах ACX см. в разделе Сводка по объектам ACX.

CompositeProperties

Необязательный дескриптор для CircuitProperties. Это необязательный объект ACXOBJECTBAG для свойств ACXCIRCUIT.

Возвращаемое значение

None

Remarks

ACX может вызывать этот обратный вызов для составного ACXCIRCUIT, только если присутствует связанный WDFDEVICE. То есть, если связанный WDFDEVICE удален с помощью неожиданного удаления (SR), ACX не сможет вызвать обратный вызов, так как связанные с ним интерфейсы PnP отключены.

Пример

В этом примере кода показано, как драйвер извлекает свойство канала из указанного контейнера объектов свойств цепи.

Ниже приведен пример использования.

VOID
DspR_EvtCircuitCompositeDeinitialize(
    _In_     WDFDEVICE      Device,
    _In_     ACXCIRCUIT     Circuit,
    _In_opt_ ACXOBJECTBAG   CompositeProperties
    )
{
    DECLARE_CONST_ACXOBJECTBAG_SYSTEM_PROPERTY_NAME(UniqueID);
    NTSTATUS    status      = STATUS_SUCCESS;
    GUID        uniqueId    = {0};

    PAGED_CODE();

    UNREFERENCED_PARAMETER(Device);
    UNREFERENCED_PARAMETER(Circuit);

    if (CompositeProperties)
    {
        status = AcxObjectBagRetrieveGuid(CompositeProperties, &UniqueID, &uniqueId);
        if (!NT_SUCCESS(status))
        {
            // Log error.
        }
    }
}

Требования ACX

Минимальная версия ACX: 1.0

Дополнительные сведения о версиях ACX см. в статье Обзор версий ACX.

Требования

Требование Значение
Заголовок acxcircuit.h
IRQL PASSIVE_LEVEL

См. также раздел