Compartir a través de


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 constantes terminada en NULL que representa el nombre de un archivo de origen del controlador. Este parámetro es opcional y se puede NULL.

Valor devuelto

Ninguno

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 WdfObjectDereferenceActual devuelve.

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 y el nombre de archivo actuales del controlador.

Puede ver los valores de etiqueta, número de línea y nombre de archivo mediante la extensión de depurador de !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 Valor
de la plataforma de destino de Universal
versión mínima de KMDF 1.0
versión mínima de UMDF 2.0
encabezado wdfobject.h (incluya Wdf.h)
Biblioteca Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
irQL <=DISPATCH_LEVEL
reglas de cumplimiento de DDI DriverCreate(kmdf)

Consulte también

WdfObjectDereference

WdfObjectReferenceActual