Partilhar via


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 de propriedade do thread atual.

[in] OwnerPointer

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

Valor de retorno

Nenhum

Observações

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 de 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 por do OwnerPointer para 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 é feito com o recurso, o thread do gerenciador de recursos libera a propriedade do thread de usuário do recurso 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
de cliente com suporte mínimo Disponível a partir do Windows 2000.
da Plataforma de Destino Universal
cabeçalho wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
biblioteca NtosKrnl.lib
de DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL
regras de conformidade de DDI HwStorPortProhibitedDIs(storport)

Consulte também

ExReleaseResourceForThreadLite