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 를 호출하여 개수를 감소시켜야 합니다.

WdfDeviceStopIdle 대신 WdfDeviceStopIdleWithTag를 호출하면 Microsoft 디버거에서 볼 수 있는 추가 정보(태그 값, 줄 번호 및 파일 이름)가 제공됩니다. WdfDeviceStopIdleWithTag 는 드라이버의 현재 줄 번호와 파일 이름을 사용합니다.

!wdftagtracker 디버거 확장명을 사용하여 태그, 줄 번호 및 파일 이름 값을 볼 수 있습니다. 디버거 확장은 태그 값을 포인터 및 일련의 문자로 표시합니다.

자세한 플래그가 있는 !wdfkd.wdfdevice 를 사용하고 출력에서 !wdftagtracker 에 대한 링크를 찾습니다.

kd> !wdfdevice <handle> f 

요구 사항

요구 사항
대상 플랫폼 유니버설
최소 KMDF 버전 1.15
최소 UMDF 버전 2.15
머리글 wdfdevice.h(Wdf.h 포함)
라이브러리 Wdf01000.sys(KMDF); WUDFx02000.dll(UMDF)
IRQL 설명 섹션을 참조하십시오.
DDI 규정 준수 규칙 DriverCreate, KmdfIrql, KmdfIrql2

추가 정보

WDF에서 전원 참조 누수 디버깅

WdfDeviceResumeIdle

WdfDeviceResumeIdleWithTag

WdfDeviceStopIdle