Función WdfObjectDereferenceActual (wdfobject.h)

[Se aplica a KMDF y UMDF]

El método WdfObjectDereferenceActual disminuye el recuento de referencias de un objeto de marco especificado y asigna un valor de etiqueta, un número de línea y un nombre de archivo a la referencia.

Sintaxis

void WdfObjectDereferenceActual(
  [in]           WDFOBJECT Handle,
  [in, optional] PVOID     Tag,
  [in]           LONG      Line,
  [in, optional] PCCH      File
);

Parámetros

[in] Handle

Identificador de un objeto de marco.

[in, optional] Tag

Valor definido por el controlador que identifica una referencia de objeto. El valor de etiqueta debe coincidir con un valor de etiqueta que el controlador proporcionó anteriormente a WdfObjectReferenceActual.

[in] Line

Valor numérico que representa un número de línea en un archivo de origen del controlador.

[in, optional] File

Puntero a una cadena de caracteres constante terminada en null que representa el nombre de un archivo de origen del controlador. Este parámetro es opcional y puede ser NULL.

Valor devuelto

None

Observaciones

Se produce una comprobación de errores si el controlador proporciona un identificador de objeto no válido.

Si el recuento de referencias del objeto se convierte en cero, es posible que el objeto se elimine antes de que WdfObjectDereferenceActual devuelva.

Llamar a WdfObjectDereferenceActual o WdfObjectDereferenceWithTag en lugar de WdfObjectDereference proporciona información adicional (cadena de etiqueta, número de línea y nombre de archivo) a los depuradores de Microsoft. WdfObjectDereferenceActual permite al controlador especificar el número de línea y el nombre de archivo, mientras que WdfObjectDereferenceWithTag usa el número de línea actual del controlador y el nombre de archivo.

Puede ver los valores de etiqueta, número de línea y nombre de archivo mediante la extensión del depurador !wdftagtracker . La extensión del depurador muestra el valor de etiqueta como puntero y una serie de caracteres. Para obtener más información sobre las extensiones del depurador, vea Depuración de un controlador KMDF.

Para obtener más información sobre los recuentos de referencias de objetos y las reglas de limpieza de una jerarquía de objetos de marco, vea Ciclo de vida de objetos de marco.

Ejemplos

En el ejemplo de código siguiente se disminuye el recuento de referencias de un objeto y se asigna un valor de etiqueta, un número de línea y un nombre de archivo a la referencia.

WdfObjectDereferenceActual(
                           object,
                           pTag,
                           line,
                           FILE_NAME
                           );

Requisitos

Requisito Value
Plataforma de destino Universal
Versión mínima de KMDF 1.0
Versión mínima de UMDF 2.0
Encabezado wdfobject.h (incluir Wdf.h)
Library Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL <=DISPATCH_LEVEL
Reglas de cumplimiento de DDI DriverCreate(kmdf)

Consulte también

WdfObjectDereference

WdfObjectReferenceActual