Función ExReleaseResourceForThreadLite (wdm.h)

La rutina ExReleaseResourceForThreadLite libera el recurso de entrada del subproceso indicado.

Sintaxis

void ExReleaseResourceForThreadLite(
  [in, out] PERESOURCE       Resource,
  [in]      ERESOURCE_THREAD ResourceThreadId
);

Parámetros

[in, out] Resource

Puntero al recurso que se va a liberar.

[in] ResourceThreadId

Identifica el subproceso que adquirió originalmente el recurso. Si no es el subproceso que se está ejecutando actualmente, el autor de la llamada debe haber transferido la propiedad del recurso llamando primero a la rutina ExSetResourceOwnerPointerEx en el subproceso que adquirió originalmente el recurso.

Valor devuelto

None

Observaciones

Si no es el subproceso que se está ejecutando actualmente, el autor de la llamada debe haber transferido la propiedad del recurso llamando primero a la rutina ExSetResourceOwnerPointerEx en el subproceso que adquirió originalmente el recurso. Esto es para asegurarse de que el subproceso A no se termina o elimina antes de que el subproceso B tenga la oportunidad de liberar el recurso.

A menos que el autor de la llamada se ejecute en un subproceso del sistema, el autor de la llamada debe deshabilitar explícitamente la entrega de las API normales del kernel antes de llamar a esta rutina. Este requisito impide que los subprocesos se suspendan mientras manipulan o mantienen un recurso. El autor de la llamada puede deshabilitar la entrega normal del kernel APC mediante una llamada a la rutina KeEnterCriticalRegion . La entrega debe permanecer deshabilitada hasta que se libere el recurso, en cuyo momento se puede volver a habilitar llamando a la rutina KeLeaveCriticalRegion . Para obtener más información, vea Deshabilitar LAS API.

Este requisito no se aplica a las llamadas realizadas a ExReleaseResourceForThreadLite desde un subproceso del sistema. Un llamador que se ejecuta en un subproceso del sistema no necesita deshabilitar explícitamente las API antes de llamar a esta rutina.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible a partir de Windows 2000.
Plataforma de destino Universal
Encabezado wdm.h (incluya Wdm.h, Ntddk.h, Ntifs.h)
Library NtosKrnl.lib
Archivo DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL
Reglas de cumplimiento de DDI ExclusiveResourceAccess(wdm), HwStorPortProhibitedDIs(storport), WithinCriticalRegion(storport), WithinCriticalRegion(storport), WithinCriticalRegion(wdm)

Consulte también

ExAcquireResourceExclusiveLite

ExAcquireResourceSharedLite

ExAcquireSharedStarveExclusive

ExAcquireSharedWaitForExclusive

ExGetCurrentResourceThread

ExInitializeResourceLite

ExReinitializeResourceLite