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 propiedad del 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 usarlos 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 llamando 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; los 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 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 HwStorPortProhibitedDDIs(storport)

Consulte también

ExReleaseResourceForThreadLite