Функция WdfObjectDereferenceActual (wdfobject.h)
[Применимо к KMDF и UMDF]
Метод WdfObjectDereferenceActual уменьшает количество ссылок для указанного объекта платформы и присваивает ссылке значение тега, номер строки и имя файла.
Синтаксис
void WdfObjectDereferenceActual(
[in] WDFOBJECT Handle,
[in, optional] PVOID Tag,
[in] LONG Line,
[in, optional] PCCH File
);
Параметры
[in] Handle
Дескриптор объекта платформы.
[in, optional] Tag
Определенное драйвером значение, определяющее ссылку на объект. Значение тега должно совпадать со значением тега, которое драйвер ранее предоставил в WdfObjectReferenceActual.
[in] Line
Числовое значение, представляющее номер строки в исходном файле драйвера.
[in, optional] File
Указатель на константную строку символов, завершающуюся null, которая представляет имя исходного файла драйвера. Этот параметр является необязательным и может иметь значение NULL.
Возвращаемое значение
None
Remarks
Ошибка проверка возникает, если драйвер предоставляет недопустимый дескриптор объекта.
Если количество ссылок объекта становится нулевым, объект может быть удален до возврата WdfObjectDereferenceActual .
Вызов WdfObjectDereferenceActual или WdfObjectDereferenceWithTag вместо WdfObjectDereference предоставляет дополнительные сведения (строка тега, номер строки и имя файла) отладчикам Майкрософт. WdfObjectDereferenceActual позволяет драйверу указать номер строки и имя файла, а WdfObjectDereferenceWithTag использует текущий номер строки и имя файла драйвера.
Вы можете просмотреть значения тега, номера строки и имени файла с помощью расширения отладчика !wdftagtracker . Расширение отладчика отображает значение тега как указатель и ряд символов. Дополнительные сведения о расширениях отладчика см. в разделе Отладка драйвера KMDF.
Дополнительные сведения о количестве ссылок на объекты и правилах очистки для иерархии объектов платформы см. в разделе Жизненный цикл объекта платформы.
Примеры
В следующем примере кода уменьшается число ссылок объекта и присваивается значение тега, номер строки и имя файла ссылке.
WdfObjectDereferenceActual(
object,
pTag,
line,
FILE_NAME
);
Требования
Требование | Значение |
---|---|
Целевая платформа | Универсальное |
Минимальная версия KMDF | 1,0 |
Минимальная версия UMDF | 2,0 |
Верхняя часть | wdfobject.h (включая Wdf.h) |
Библиотека | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL | <=DISPATCH_LEVEL |
Правила соответствия DDI | DriverCreate(kmdf) |