Função ExAcquireFastMutexUnsafe (wdm.h)
A rotina ExAcquireFastMutexUnsafe adquire o mutex rápido especificado para o thread de chamada.
Sintaxe
void ExAcquireFastMutexUnsafe(
PFAST_MUTEX FastMutex
);
Parâmetros
FastMutex
[in, out] Um ponteiro para uma estrutura FAST_MUTEX) para a qual o chamador fornece o armazenamento. O chamador inicializou essa estrutura anteriormente por uma chamada à rotina ExInitializeFastMutex
Retornar valor
Nenhum
Comentários
ExAcquireFastMutexUnsafe coloca o chamador em um estado de espera se o mutex rápido especificado não puder ser adquirido imediatamente. Caso contrário, o chamador recebe a propriedade do mutex e acesso exclusivo ao recurso que o mutex protege até que o chamador libere o mutex.
Qualquer mutex rápido adquirido por uma chamada para ExAcquireFastMutexUnsafe deve ser liberado por uma chamada para a rotina ExReleaseFastMutexUnsafe .
As rotinas ExAcquireFastMutex e ExAcquireFastMutexUnsafe fazem com que o thread de chamada seja bloqueado até que o mutex esteja disponível. A rotina ExTryToAcquireFastMutex retornará imediatamente com o valor retornado FALSE se outro thread já tiver adquirido o mutex. ExAcquireFastMutex e ExTryToAcquireFastMutex aumentam o IRQL para APC_LEVEL antes de adquirir o mutex rápido. Os drivers devem usar ExAcquireFastMutexUnsafe, que não gera o IRQL, somente se um dos seguintes procedimentos for verdadeiro:
O thread já está em execução em APC_LEVEL.
O thread adquire o mutex em uma região crítica que foi inserida anteriormente por uma chamada para a rotina KeEnterCriticalRegion ou FsRtlEnterFileSystem .
Para obter mais informações sobre mutexes rápidos, consulte os seguintes tópicos:
Mutexes rápidos e mutexes protegidos
Bloqueios, deadlocks e sincronização
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 2000 |
Cabeçalho | wdm.h |
IRQL | APC_LEVEL |
Regras de conformidade de DDI | HwStorPortProhibitedDDIs(storport) |