Função ExSetResourceOwnerPointer (wdm.h)

A rotina ExSetResourceOwnerPointer define o ponteiro de thread do proprietário para um recurso executivo.

Sintaxe

void ExSetResourceOwnerPointer(
  [in, out] PERESOURCE Resource,
  [in]      PVOID      OwnerPointer
);

Parâmetros

[in, out] Resource

Um ponteiro para um recurso executivo pertencente ao thread atual.

[in] OwnerPointer

Um ponteiro para um ponteiro de thread proprietário do tipo ERESOURCE_THREAD (para obter requisitos adicionais, consulte a seção Comentários a seguir).

Retornar valor

Nenhum

Comentários

ExSetResourceOwnerPointer, usado em conjunto com ExReleaseResourceForThreadLite, fornece um meio para um thread (atuando como um thread do gerenciador de recursos) adquirir e liberar recursos para uso por outro thread (atuando como um thread de usuário de recurso).

Depois de chamar ExSetResourceOwnerPointer para um recurso específico, a única outra rotina que pode ser chamada para esse recurso é ExReleaseResourceForThreadLite.

O thread do gerenciador de recursos adquire a propriedade do recurso e passa a propriedade para o thread do usuário chamando ExSetResourceOwnerPointer. O chamador deve alocar a memória para o valor ERESOURCE_THREAD apontado por OwnerPointer na memória do sistema e essa memória deve permanecer alocada até que ExReleaseResourceForThreadLite retorne. O chamador também deve definir os dois bits de baixa ordem do valor de ERESOURCE_THREAD apontado pelo OwnerPointer como um – essa codificação é usada internamente pelos serviços de recursos para distinguir entre endereços de proprietário e thread.

Quando o thread do usuário é concluído com o recurso, o thread do gerenciador de recursos libera a propriedade do recurso do thread de usuário chamando ExReleaseResourceForThreadLite. O parâmetro de entrada ResourceThreadId é definido como o valor do parâmetro OwnerPointer usado na chamada anterior para ExSetResourceOwnerPointer que deu ao thread de trabalho a propriedade do recurso.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível a partir do Windows 2000.
Plataforma de Destino Universal
Cabeçalho wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Biblioteca NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL
Regras de conformidade da DDI HwStorPortProhibitedDDIs(storport)

Confira também

ExReleaseResourceForThreadLite