Compartilhar via


Função WdfObjectDereferenceActual (wdfobject.h)

[Aplica-se a KMDF e UMDF]

O método WdfObjectDereferenceActual diminui 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 WdfObjectDereferenceActual(
  [in]           WDFOBJECT Handle,
  [in, optional] PVOID     Tag,
  [in]           LONG      Line,
  [in, optional] PCCH      File
);

Parâmetros

[in] Handle

Um identificador para um objeto de estrutura.

[in, optional] Tag

Um valor definido pelo driver que identifica uma referência de objeto. O valor da marca deve corresponder a um valor de marca que o driver forneceu anteriormente para WdfObjectReferenceActual.

[in] Line

Um valor numérico que representa um número de linha em um arquivo de origem do driver.

[in, optional] 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 a contagem de referência do objeto se tornar zero, o objeto poderá ser excluído antes que WdfObjectDereferenceActual retorne.

Chamar WdfObjectDereferenceActual ou WdfObjectDereferenceWithTag em vez de WdfObjectDereference fornece informações adicionais (cadeia de caracteres de marca, número de linha e nome do arquivo) aos depuradores da Microsoft. WdfObjectDereferenceActual permite que o driver especifique o número da linha e o nome do arquivo, enquanto WdfObjectDereferenceWithTag 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 e 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 diminui 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.

WdfObjectDereferenceActual(
                           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)

Confira também

WdfObjectDereference

WdfObjectReferenceActual