다음을 통해 공유


IoInvalidateDeviceRelations 함수(wdm.h)

IoInvalidateDeviceRelations 루틴은 PnP 관리자에게 디바이스의 관계(예: 버스 관계, 배출 관계, 제거 관계 및 대상 디바이스 관계)가 변경되었다는 것을 알릴 수 있습니다.

통사론

void IoInvalidateDeviceRelations(
  [in] PDEVICE_OBJECT       DeviceObject,
  [in] DEVICE_RELATION_TYPE Type
);

매개 변수

[in] DeviceObject

디바이스의 PDO에 대한 포인터입니다.

[in] Type

변경된 관계의 형식을 설명하는 DEVICE_RELATION_TYPE 열거형 값을 지정합니다. 가능한 값으로는 BusRelations, EjectionRelations, RemovalRelationsTargetDeviceRelation등이 있습니다. Windows 7부터 PowerRelations 값도 지원됩니다.

반환 값

없음

발언

BusRelations같은 일부 관계 형식의 경우 이 루틴은 PnP 관리자 또는 전원 관리자가 디바이스에 대한 드라이버에 IRP_MN_QUERY_DEVICE_RELATIONS 요청을 전송하여 업데이트된 관계 정보를 수집하도록 합니다. EjectionRelations같은 다른 관계 형식의 경우 PnP 관리자는 새 관계 정보를 즉시 수집할 필요가 없습니다. PnP 관리자는 디바이스를 배출할 준비를 하는 경우에만 드라이버에서 배출 관계를 쿼리합니다.

버스 드라이버가 IoInvalidateDeviceRelations 호출하여 디바이스가 사라졌다는 것을 PnP 관리자에게 알리면 버스 드라이버는 IRP_MN_REMOVE_DEVICE 요청을 받을 때까지 해당 디바이스에 대한 PnP IRP를 계속 처리해야 합니다. 이 IRP에 대한 응답으로 버스 드라이버는 STATUS_NO_SUCH_DEVICE 반환합니다. 버스 드라이버가 IRP_MN_REMOVE_DEVICE 요청을 성공적으로 완료할 때까지 버스 드라이버는 디바이스 확장에 액세스하여 디바이스에 대한 플래그를 확인할 수 있습니다.

요구 사항

요구
지원되는 최소 클라이언트 Windows 2000부터 사용할 수 있습니다.
대상 플랫폼 보편적
헤더 wdm.h(Wdm.h, Ntddk.h, Ntifs.h 포함)
라이브러리 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL
DDI 규정 준수 규칙 HwStorPortProhibitedDDIs(storport)

참고 항목

IRP_MN_QUERY_DEVICE_RELATIONS

IRP_MN_REMOVE_DEVICE