Compartilhar via


Função AcxEventCreate (acxevents.h)

A função AcxEventCreate cria um evento ACX.

Sintaxe

NTSTATUS AcxEventCreate(
  ACXOBJECT              Object,
  PWDF_OBJECT_ATTRIBUTES Attributes,
  PACX_EVENT_CONFIG      Config,
  ACXEVENT               *Event
);

Parâmetros

Object

Um ACXOBJECT descrito em Resumo de Objetos ACX.

Attributes

Atributos adicionais definidos usando um WDF_OBJECT_ATTRIBUTES que são usados para definir os valores de vários objetos: limpar e destruir retornos de chamada, tipo de contexto e especificar seu objeto pai.

Config

Uma estrutura ACX_EVENT_CONFIG que define a configuração de evento ACX.

Event

O objeto ACXEVENT recém-criado (descrito em Resumo de Objetos ACX).

Retornar valor

Retorna STATUS_SUCCESS se a chamada foi bem-sucedida. Caso contrário, ele retornará um código de erro apropriado. Para obter mais informações, consulte Usando valores NTSTATUS.

Comentários

Um ACXEVENT representa uma notificação assíncrona disponível no nível do driver. Os eventos podem ser adicionados a ACXCIRCUITs, ACXSTREAMs, ACXELEMENTs e ACXPINs. Internamente, eles são expostos como Eventos KS para camadas superiores. Para obter mais informações sobre eventos de KS, consulte Eventos de KS.

Exemplo

Este exemplo de código snip mostra como o ACX usa AcxEventCreate para criar um evento de alteração de tomada de áudio.

    NTSTATUS status = STATUS_SUCCESS;
    
    PAGED_CODE();

    ACX_EVENT_CALLBACKS         eventCallbacks;
    ACX_EVENT_CONFIG            eventCfg;
    AFX_PIN_EVENT_CONTEXT       *eventCtx;
    ACXEVENT                    jackEvent;
    WDF_OBJECT_ATTRIBUTES       attributes;

    //
    // Add jack info change event to this jack object
    //
    ACX_EVENT_CALLBACKS_INIT(&eventCallbacks);
    eventCallbacks.EvtAcxEventEnable = &AfxPin::EvtJackEventEnableCallback;
    eventCallbacks.EvtAcxEventDisable = &AfxPin::EvtJackEventDisableCallback;

    ACX_EVENT_CONFIG_INIT(&eventCfg);
    eventCfg.Set = &KSEVENTSETID_PinCapsChange;
    eventCfg.Id = KSEVENT_PINCAPS_JACKINFOCHANGE;
    eventCfg.Callbacks = &eventCallbacks;

    WDF_OBJECT_ATTRIBUTES_INIT_CONTEXT_TYPE(&attributes, AFX_PIN_EVENT_CONTEXT);
    attributes.ParentObject = GetObjectHandle();
    status = AcxEventCreate(GetObjectHandle(), &attributes, &eventCfg, &jackEvent);

Requisitos do ACX

Versão mínima do ACX: 1.0

Para obter mais informações sobre as versões do ACX, consulte Visão geral da versão do ACX.

Requisitos

Requisito Valor
Cabeçalho acxevents.h
IRQL PASSIVE_LEVEL

Confira também