Compartilhar via


Função ExEnterCriticalRegionAndAcquireResourceExclusive (wdm.h)

A rotina ExEnterCriticalRegionAndAcquireResourceExclusive primeiro entra em uma região crítica e, em seguida, adquire acesso exclusivo ao recurso especificado.

Sintaxe

PVOID ExEnterCriticalRegionAndAcquireResourceExclusive(
  PERESOURCE Resource
);

Parâmetros

Resource

[dentro, fora] Um ponteiro para o recurso a ser adquirido para acesso exclusivo. Esse parâmetro aponta para uma estrutura deERESOURCEalocada pelo chamador. O chamador alocou anteriormente essa estrutura do pool nãopagado e a inicializou chamando aexInitializeResourceLiteou rotina ExReinitializeResourceLite.

Valor de retorno

Um ponteiro para uma estrutura de sistema opaca. Os drivers devem ignorar esse valor retornado.

Observações

Se essa rotina for chamada quando o recurso especificado não estiver disponível imediatamente para acesso exclusivo, o thread de chamada será bloqueado até que o recurso esteja disponível.

Enquanto um thread de driver é executado na região crítica, as APCs de usuário do driver e as APCs de kernel normais não são executadas. ApCs especiais de kernel ainda são executadas. Para obter mais informações sobre esses tipos de APC, consulte tipos de APCs.

Ao desabilitar temporariamente apCs de kernel normais, ExEnterCriticalRegionAndAcquireResourceExclusive impede que um thread de chamada de nível passivo seja preemptado por um APC enquanto o thread contém um recurso compartilhado que o APC pode tentar acessar.

O thread de chamada deve permanecer na região crítica e manter o recurso especificado por não mais do que o necessário. Para liberar o recurso especificado e deixar a região crítica, chame a rotinaExReleaseResourceAndLeaveCriticalRegion.

Para obter mais informações sobre como usar uma estruturaERESOURCEpara sincronizar o acesso exclusivo a um recurso, consulte Introdução às Rotinas ERESOURCE. Para obter mais informações sobre como entrar e sair de uma região crítica, consulte Regiões Críticas e Regiões Protegidas.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows Vista
servidor com suporte mínimo Windows Server 2003 SP1
cabeçalho wdm.h
IRQL <= APC_LEVEL
regras de conformidade de DDI CriticalRegions(wdm), HwStorPortProhibitedDIs(storport)

Consulte também

ERESOURCE

ExAcquireResourceExclusiveLite

ExInitializeResourceLite

ExReinitializeResourceLite

ExReleaseResourceLite

ExReleaseResourceAndLeaveCriticalRegion

KeEnterCriticalRegion

KeLeaveCriticalRegion