Função ExReleaseResourceForThreadLite (wdm.h)
A rotina ExReleaseResourceForThreadLite libera o recurso de entrada do thread indicado.
Sintaxe
void ExReleaseResourceForThreadLite(
[in, out] PERESOURCE Resource,
[in] ERESOURCE_THREAD ResourceThreadId
);
Parâmetros
[in, out] Resource
Um ponteiro para o recurso a ser liberado.
[in] ResourceThreadId
Identifica o thread que adquiriu originalmente o recurso. Se esse não for o thread em execução no momento, o chamador deverá ter transferido a propriedade do recurso chamando a rotina ExSetResourceOwnerPointerEx primeiro no thread que adquiriu originalmente o recurso.
Retornar valor
Nenhum
Comentários
Se esse não for o thread em execução no momento, o chamador deverá ter transferido a propriedade do recurso chamando a rotina ExSetResourceOwnerPointerEx primeiro no thread que adquiriu originalmente o recurso. Isso é para garantir que o thread A não seja encerrado ou excluído antes que o thread B tenha a chance de liberar o recurso.
A menos que o chamador esteja em execução em um thread do sistema, o chamador deve desabilitar explicitamente a entrega de APCs de kernel normais antes de chamar essa rotina. Esse requisito impede que os threads sejam suspensos enquanto manipulam ou mantêm um recurso. O chamador pode desabilitar a entrega normal do kernel APC chamando a rotina KeEnterCriticalRegion . A entrega deve permanecer desabilitada até que o recurso seja liberado, momento em que ele pode ser reenabled chamando a rotina KeLeaveCriticalRegion . Para obter mais informações, consulte Desabilitando APCs.
Esse requisito não se aplica a chamadas feitas para ExReleaseResourceForThreadLite de um thread do sistema. Um chamador em execução em um thread do sistema não precisa desabilitar explicitamente as APCs antes de chamar essa rotina.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Disponível a partir do Windows 2000. |
Plataforma de Destino | Universal |
Cabeçalho | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
Biblioteca | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL |
Regras de conformidade de DDI | ExclusiveResourceAccess(wdm), HwStorPortProhibitedDIs(storport), WithinCriticalRegion(storport), WithinCriticalRegion(storport), WithinCriticalRegion(wdm) |
Confira também
ExAcquireResourceExclusiveLite
ExAcquireSharedStarveExclusive