Método IWDFObject::AssignContext (wudfddi.h)

[Aviso: UMDF 2 é a versão mais recente do UMDF e substitui UMDF 1. Todos os novos drivers UMDF devem ser gravados usando UMDF 2. Nenhum novo recurso está sendo adicionado ao UMDF 1 e há suporte limitado para UMDF 1 em versões mais recentes do Windows 10. Os drivers universais do Windows devem usar o UMDF 2. Para obter mais informações, consulte Introdução com UMDF.]

O método AssignContext registra um contexto e uma função de retorno de chamada de limpeza fornecida pelo driver para o objeto.

Sintaxe

HRESULT AssignContext(
  [in, optional] __drv_aliasesMem IObjectCleanup *pCleanupCallback,
  [in, optional] __drv_aliasesMem void           *pContext
);

Parâmetros

[in, optional] pCleanupCallback

Um ponteiro para a interface IObjectCleanup que contém a função de retorno de chamada de limpeza, que executa operações de limpeza para o objeto se ele se tornar inválido. Esse parâmetro é opcional. O driver poderá passar NULL se o driver não exigir notificação quando o objeto for limpo.

[in, optional] pContext

Um ponteiro para o contexto a ser registrado. NULL é um contexto válido.

Valor retornado

AssignContext retornará S_OK se a operação for bem-sucedida. Caso contrário, esse método retornará um dos códigos de erro definidos em Winerror.h.

Comentários

Um driver chama AssignContext para registrar um contexto e solicitar notificação quando o objeto se torna inválido. Em uma chamada AssignContext , o driver passa um ponteiro para a interface IObjectCleanup no parâmetro pCleanupCallback para registrar IObjectCleanup. Observe que a estrutura contém internamente uma referência à interface IObjectCleanup fornecida enquanto o objeto é válido. Quando o objeto se torna inválido, a estrutura chama o método IObjectCleanup::OnCleanup para notificar o driver. A estrutura libera automaticamente a referência ao IObjectCleanup fornecido depois de chamar IObjectCleanup::OnCleanup.

A qualquer momento, somente um contexto associado a cada instância de objeto pode existir. As tentativas de registrar contextos adicionais falham.

Um contexto só pode ser associado a um objeto que está em um estado válido. Por exemplo, uma tentativa de associar um contexto a um objeto que está em processo de exclusão falha.

Como o contexto não é uma interface COM (Component Object Model), o driver não deve tratar o contexto como tal. Por exemplo, o driver não pode chamar o método AddRef no contexto.

O método IWDFObject::RetrieveContext pode ser usado para recuperar o contexto que foi registrado anteriormente por meio de AssignContext.

Exemplos

Para obter um exemplo de código de como usar o método AssignContext , consulte IWDFIoTarget::FormatRequestForWrite.

Requisitos

   
Fim do suporte Indisponível no UMDF 2.0 e posterior.
Plataforma de Destino Desktop
Versão mínima do UMDF 1.5
Cabeçalho wudfddi.h (include Wudfddi.h)
DLL WUDFx.dll

Confira também

IObjectCleanup

IObjectCleanup::OnCleanup

IWDFObject

IWDFObject::RetrieveContext