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
ExAcquireSharedStarveExclusive