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. Drivers universais do Windows devem usar 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.
Retornar valor
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á no 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
Requisito | Valor |
---|---|
Fim do suporte | Indisponível no UMDF 2.0 e posterior. |
Plataforma de Destino | Área de Trabalho |
Versão mínima do UMDF | 1.5 |
Cabeçalho | wudfddi.h (include Wudfddi.h) |
DLL | WUDFx.dll |