Função ExReleaseResourceForThreadLite (wdm.h)
O 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 originalmente adquiriu 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 originalmente adquiriu o recurso.
Valor de retorno
Nenhum
Observações
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 originalmente adquiriu 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 APC do kernel 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 |
---|---|
de cliente com suporte mínimo | Disponível a partir do Windows 2000. |
da Plataforma de Destino | Universal |
cabeçalho | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
biblioteca | NtosKrnl.lib |
de DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL |
regras de conformidade de DDI | ExclusiveResourceAccess(wdm), HwStorPortProhibitedDIs(storport), WithinCriticalRegion(storport), WithinCriticalRegion(storport), WithinCriticalRegion(wdm) |
Consulte também
ExAcquireResourceExclusiveLite
ExAcquireSharedStarveExclusive