Поделиться через


Макрос WdfDeviceStopIdleWithTag (wdfdevice.h)

[Применимо к KMDF и UMDF]

Макрос WdfDeviceStopIdleWithTag увеличивает число ссылок на питание для указанного объекта устройства платформы и назначает текущему имени файла и номеру строки драйвера ссылке. Макрос также назначает значение тега ссылке.

Синтаксис

NTSTATUS WdfDeviceStopIdleWithTag(
    _In_ WDFDEVICE Device,
    _In_ BOOLEAN WaitForD0,
    _In_ PVOID Tag
);

Параметры

[in] Device

Дескриптор объекта устройства платформы.

[in] WaitForD0

Логическое значение, указывающее, когда WdfDeviceStopIdleWithTag возвращается. Если TRUE, он возвращается только после того, как указанное устройство ввело состояние питания устройства D0. Если FALSE, метод возвращается немедленно.

[in] Tag

Определяемое драйвером значение, которое платформа сохраняет в качестве тега идентификации для ссылки на питание.

Возвращаемое значение

Нет

Замечания

Если операция выполнена успешно, WdfDeviceStopIdleWithTag возвращает STATUS_SUCCESS.

К дополнительным возвращаемым значениям относятся:

Код возврата Описание
STATUS_PENDING

Устройство работает асинхронно.

STATUS_INVALID_DEVICE_STATE

Драйвер не является владельцем политики питания для устройства.

STATUS_POWER_STATE_INVALID

Произошел сбой устройства, и устройство не может ввести состояние питания D0.

Метод может возвращать другие значения NTSTATUS.

Ошибка возникает, если драйвер предоставляет недопустимый дескриптор объекта.

Если драйвер вызывает WdfDeviceStopIdleWithTag для увеличения количества ссылок, драйвер должен вызвать WdfDeviceResumeIdleWithTag для уменьшения количества.

Вызов WdfDeviceStopIdleWithTag вместо WdfDeviceStopIdle предоставляет дополнительные сведения (значение тега, номер строки и имя файла), которые можно просмотреть в отладчиках Майкрософт. WdfDeviceStopIdleWithTag использует текущий номер строки и имя файла драйвера.

Значения тегов, номеров строк и имени файла можно просмотреть с помощью расширения отладчика !wdftagtracker. Расширение отладчика отображает значение тега как указатель, так и ряд символов.

Используйте !wdfkd.wdfdevice с подробными флагами и найдите ссылку на !wdftagtracker в выходных данных:

kd> !wdfdevice <handle> f 

Требования

Требование Ценность
целевая платформа универсальный
минимальная версия KMDF 1.15
минимальная версия UMDF 2.15
Заголовок wdfdevice.h (include Wdf.h)
Библиотека Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL См. раздел "Примечания".
правил соответствия DDI DriverCreate, KmdfIrql, KmdfIrql2

См. также

отладка утечки power Reference в WDF

WdfDeviceResumeIdle

WdfDeviceResumeIdleWithTag

WdfDeviceStopIdle