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