Compartilhar via


Função WdfInterruptReleaseLock (wdfinterrupt.h)

[Aplica-se a KMDF e UMDF]

O método WdfInterruptReleaseLock encerra uma sequência de código que é executada no DIRQL do dispositivo enquanto mantém o bloqueio de rotação de um objeto de interrupção.

Para objetos de interrupção de nível passivo, o método encerra uma sequência de código que é executada no nível passivo enquanto mantém o bloqueio passivo de um objeto de interrupção.

Sintaxe

void WdfInterruptReleaseLock(
  [in] WDFINTERRUPT Interrupt
);

Parâmetros

[in] Interrupt

Um identificador para um objeto de interrupção de estrutura.

Comentários

Um bug marcar ocorrerá se o driver fornecer um identificador de objeto inválido.

O método WdfInterruptReleaseLock libera o bloqueio de rotação ou o bloqueio de espera do objeto de interrupção especificado e retorna o IRQL do processador para o nível para o qual ele foi definido antes do driver chamado WdfInterruptAcquireLock.

Seu driver não pode chamar WdfInterruptReleaseLock antes que a estrutura tenha chamado a função de retorno de chamada EvtInterruptEnable do driver ou depois que a estrutura tiver chamado a função de retorno de chamada EvtInterruptDisable do driver.

Para obter mais informações sobre o método WdfInterruptReleaseLock , consulte Sincronizando código de interrupção.

Para obter mais informações sobre como lidar com interrupções em drivers baseados em estrutura, consulte Tratamento de interrupções de hardware.

Esse método deve ser chamado no DIRQL que foi definido por WdfInterruptAcquireLock.

Para interrupções de nível passivo, o driver deve chamar WdfInterruptReleaseLock em IRQL = PASSIVE_LEVEL.

Requisitos

Requisito Valor
Plataforma de Destino Universal
Versão mínima do KMDF 1.0
Versão mínima do UMDF 2,0
Cabeçalho wdfinterrupt.h (inclua Wdf.h)
IRQL Consulte a seção Observações.
Regras de conformidade de DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), WdfInterruptLock(kmdf), WdfInterruptLockRelease(kmdf)

Confira também