Compartilhar via


EVT_ACX_FACTORY_CIRCUIT_RELEASE_HARDWARE função de retorno de chamada (acxcircuit.h)

O retorno de chamada EVT_ACX_FACTORY_CIRCUIT_RELEASE_HARDWARE é usado pelo driver para adicionar funcionalidade quando um ACXFACTORYCIRCUIT está na fase de hardware de lançamento.

Sintaxe

EVT_ACX_FACTORY_CIRCUIT_RELEASE_HARDWARE EvtAcxFactoryCircuitReleaseHardware;

NTSTATUS EvtAcxFactoryCircuitReleaseHardware(
  WDFDEVICE Device,
  ACXFACTORYCIRCUIT Factory,
  WDFCMRESLIST ResourcesTranslated
)
{...}

Parâmetros

Device

Um objeto WDFDEVICE (descrito em Resumo de Objetos da Estrutura) associado ao circuito ACX.

Factory

O objeto ACXFACTORYCIRCUIT da fábrica de circuitos existente. (Para obter mais informações sobre objetos ACX, consulte Resumo de objetos ACX.

ResourcesTranslated

Uma lista de recursos do WDF que descreve os recursos traduzidos a serem usados para a fase de hardware de preparação. Este é um objeto de lista de recursos da estrutura WDF que representa uma lista de recursos de hardware para um dispositivo. Para obter mais informações sobre listas de recursos traduzidas, consulte recursos brutos e traduzidos.

Valor de retorno

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.

Observações

Para registrar uma função de retorno de chamada EvtAcxFactoryCircuitReleaseHardware, o driver deve chamar AcxFactoryCircuitInitSetAcxCircuitPnpPowerCallbacks.

Se um driver tiver registrado uma função de retorno de chamada EvtAcxFactoryCircuitReleaseHardware, a estrutura a chamará durante as seguintes transições:

  • Rebalanceamento de recursos
  • Remoção ordenada
  • Remoção surpresa

A estrutura ACX chama a função de retorno de chamada EvtAcxFactoryCircuitReleaseHardware depois que a estrutura do WDF parou de enviar solicitações de E/S para o dispositivo, todas as interrupções atribuídas ao dispositivo foram desabilitadas e desconectadas e o dispositivo foi desativado.

A estrutura ACX chama a função de retorno de chamada EvtAcxFactoryCircuitReleaseHardware antes que a estrutura do WDF chame a função de retorno de chamada EvtDeviceReleaseHardware do driver.

Quando a estrutura chama o EvtAcxFactoryCircuitReleaseHardware, o PDO para o dispositivo ainda existe e pode ser consultado para obter informações do dispositivo que estão disponíveis no estado desligado, por exemplo, o estado de configuração de PCI.

Além disso, os recursos de hardware traduzidos fornecidos pela estrutura para EvtDeviceReleaseHardware ainda são atribuídos ao dispositivo. A principal finalidade dessa função de retorno de chamada é liberar esses recursos e, em particular, cancelar o mapeamento de todos os recursos de memória mapeados pela função de retorno de chamada EvtAcxCircuitPrepareHardware do driver. O driver também pode usar esse retorno de chamada para executar qualquer outra atividade de gerenciamento ACXCIRCUIT que possa ser necessária no estado de desligamento. Normalmente, todas as outras operações de desligamento de hardware devem ocorrer na função de retorno de chamada EvtDeviceD0Exit do driver.

A estrutura ACX sempre chama a função de retorno de chamada EvtAcxFactoryCircuitReleaseHardware do driver se a função de retorno de chamada EvtAcxFactoryCircuitPrepareHardware do driver tiver sido chamada, a menos que o EvtAcxFactoryCircuitPrepareHardware tenha retornado um código de falha.

Para obter mais informações sobre quando a estrutura ACX e WDF chamam essas funções de retorno de chamada, consulte cenários de PnP e gerenciamento de energia.

Para obter mais informações sobre recursos de hardware, consulte Introdução aos recursos de hardware.

Para obter mais informações sobre drivers que fornecem essa função de retorno de chamada, consulte Suporte ao PnP e ao Gerenciamento de Energia nodo Driver de Funções.

Requisitos do ACX

versão mínima do ACX: 1.0

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

Requisitos

Requisito Valor
cabeçalho acxcircuit.h
IRQL PASSIVE_LEVEL

Consulte também