Função WdfObjectReferenceActual (wdfobject.h)
[Aplica-se a KMDF e UMDF]
O método WdfObjectReferenceActual incrementa a contagem de referência para um objeto de estrutura especificado e atribui um valor de marca, um número de linha e um nome de arquivo à referência.
Sintaxe
void WdfObjectReferenceActual(
[in] WDFOBJECT Handle,
[in, optional] PVOID Tag,
[in] LONG Line,
[in] PCCH File
);
Parâmetros
[in] Handle
Um identificador para um objeto de estrutura.
[in, optional] Tag
Um valor definido pelo driver que a estrutura armazena como uma marca de identificação para a referência de objeto.
[in] Line
Um valor numérico que representa um número de linha em um arquivo de origem do driver.
[in] File
Um ponteiro para uma cadeia de caracteres constante terminada em nulo que representa o nome de um arquivo de origem do driver. Esse parâmetro é opcional e pode ser NULL.
Retornar valor
Nenhum
Comentários
Um bug marcar ocorrerá se o driver fornecer um identificador de objeto inválido.
Se o driver chamar WdfObjectReferenceActual para incrementar uma contagem de referência, o driver deverá chamar WdfObjectDereferenceActual para diminuir a contagem.
Chamar WdfObjectReferenceActual ou WdfObjectReferenceWithTag em vez de WdfObjectReference fornece informações adicionais (valor da marca, número de linha e nome do arquivo) aos depuradores da Microsoft. WdfObjectReferenceActual permite que o driver especifique o número da linha e o nome do arquivo, enquanto WdfObjectReferenceWithTag usa o número de linha e o nome do arquivo atuais do driver.
Você pode exibir os valores de marca, número de linha e nome de arquivo usando a extensão do depurador !wdftagtracker . A extensão do depurador exibe o valor da marca como um ponteiro e uma série de caracteres. Para obter mais informações sobre extensões de depurador, consulte Depurando um driver KMDF.
Para obter mais informações sobre contagens de referência de objeto, consulte Ciclo de Vida do Objeto Framework.
Para obter mais informações sobre as regras de limpeza de uma hierarquia de objetos de estrutura, consulte Ciclo de Vida do Objeto framework.
Exemplos
O exemplo de código a seguir incrementa a contagem de referência de um objeto e atribui um valor de marca, um número de linha e um nome de arquivo à referência.
WdfObjectReferenceActual(
object,
pTag,
line,
FILE_NAME
);
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Universal |
Versão mínima do KMDF | 1.0 |
Versão mínima do UMDF | 2,0 |
Cabeçalho | wdfobject.h (inclua Wdf.h) |
Biblioteca | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL | <=DISPATCH_LEVEL |
Regras de conformidade de DDI | DriverCreate(kmdf) |