Función ExSetResourceOwnerPointer (wdm.h)
La rutina ExSetResourceOwnerPointer establece el puntero del subproceso propietario para un recurso ejecutivo.
Sintaxis
void ExSetResourceOwnerPointer(
[in, out] PERESOURCE Resource,
[in] PVOID OwnerPointer
);
Parámetros
[in, out] Resource
Puntero a un recurso ejecutivo que pertenece al subproceso actual.
[in] OwnerPointer
Puntero a un puntero de subproceso propietario de tipo ERESOURCE_THREAD (para obtener requisitos adicionales, consulte la sección Comentarios siguiente).
Valor devuelto
None
Observaciones
ExSetResourceOwnerPointer, que se usa junto con ExReleaseResourceForThreadLite, proporciona un medio para un subproceso (que actúa como subproceso del administrador de recursos) para adquirir y liberar recursos para su uso por otro subproceso (actuando como subproceso de usuario de recursos).
Después de llamar a ExSetResourceOwnerPointer para un recurso específico, la única rutina a la que se puede llamar para ese recurso es ExReleaseResourceForThreadLite.
El subproceso del administrador de recursos adquiere la propiedad del recurso y pasa la propiedad al subproceso de usuario mediante una llamada a ExSetResourceOwnerPointer. El autor de la llamada debe asignar la memoria para el valor de ERESOURCE_THREAD al que apunta OwnerPointer en la memoria del sistema y esta memoria debe permanecer asignada hasta que se devuelva ExReleaseResourceForThreadLite . El autor de la llamada también debe establecer los dos bits de orden inferior del valor de ERESOURCE_THREAD al que apunta OwnerPointer en uno; estos servicios de recursos usan internamente esta codificación para distinguir entre las direcciones de propietario y subproceso.
Cuando el subproceso de usuario se realiza con el recurso, el subproceso del administrador de recursos libera la propiedad del subproceso de usuario del recurso mediante una llamada a ExReleaseResourceForThreadLite. El parámetro de entrada ResourceThreadId se establece en el valor del parámetro OwnerPointer usado en la llamada anterior a ExSetResourceOwnerPointer que proporcionó la propiedad del subproceso de trabajo del recurso.
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 | HwStorPortProhibitedDIs(storport) |