Compartilhar via


PSDBUS_ACKNOWLEDGE_INT_ROUTINE função de retorno de chamada (ntddsd.h)

O protótipo PSDBUS_ACKNOWLEDGE_INT_ROUTINE declara a rotina que um driver de dispositivo SD (Secure Digital) deve chamar para confirmar ao motorista do ônibus que concluiu o processamento da interrupção.

Sintaxe

PSDBUS_ACKNOWLEDGE_INT_ROUTINE PsdbusAcknowledgeIntRoutine;

NTSTATUS PsdbusAcknowledgeIntRoutine(
  [in] PVOID Context
)
{...}

Parâmetros

[in] Context

Contém o contexto de interface que a rotina SdBusOpenInterface retorna no membro Context da estrutura SDBUS_INTERFACE_STANDARD .

Retornar valor

Retorna STATUS_UNSUCCESSFUL se a operação for bem-sucedida ou a mensagem de erro apropriada se a operação falhar.

Comentários

Quando um dispositivo SD declara uma interrupção, o driver de barramento desabilita a interrupção que o dispositivo afirmou para permitir que o driver de dispositivo execute E/S em IRQL <=DISPATCH_LEVEL. Quando a rotina de retorno de chamada do driver de dispositivo, que é equivalente a uma rotina de serviço de interrupção, termina de limpar a interrupção, ele deve reconhecer que terminou o processamento de interrupção para que o motorista do barramento possa reabilitar a interrupção desabilitada.

Tradicionalmente, os drivers reconhecem interrupções simplesmente retornando o valor apropriado da ISR (rotina de serviço de interrupção). Quando os drivers dependem desse método, eles são restritos a reconhecer interrupções na ordem em que os recebem. Um driver de cartão SD, por outro lado, não é restrito a reconhecer interrupções na ordem em que são recebidas. Normalmente, um motorista de um cartão SD pode relatar várias interrupções ao motorista do ônibus (consulte PSDBUS_CALLBACK_ROUTINE) antes de confirmar qualquer um deles. Em condições normais de operação, um driver de cartão SD adia a confirmação de uma interrupção até que o estado de interrupção no dispositivo seja limpo.

O chamador deve estar em execução em IRQL <= DISPATCH_LEVEL quando reconhecer que concluiu o processamento de uma interrupção.

Requisitos

Requisito Valor
Plataforma de Destino Área de Trabalho
Cabeçalho ntddsd.h (inclua Ntddsd.h)
IRQL <=DISPATCH_LEVEL (consulte a seção Comentários.)

Confira também

SDBUS_INTERFACE_STANDARD

SdBusOpenInterface