다음을 통해 공유


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