다음을 통해 공유


IoDeleteController 함수(ntddk.h)

IoDeleteController 루틴은 시스템에서 지정된 컨트롤러 개체를 제거합니다(예: 해당 개체를 만든 드라이버가 언로드되는 경우).

구문

void IoDeleteController(
  [in] PCONTROLLER_OBJECT ControllerObject
);

매개 변수

[in] ControllerObject

해제할 컨트롤러 개체에 대한 포인터입니다.

반환 값

없음

설명

IoDeleteController 는 컨트롤러 확장을 포함하여 컨트롤러 개체의 메모리 할당을 취소합니다.

컨트롤러 개체를 만든 드라이버가 언로드 중이거나 디바이스를 시작하는 동안 물리적 디바이스를 제대로 초기화할 수 없는 것과 같은 심각한 오류가 발생할 때 이 루틴을 호출해야 합니다.

드라이버는 IoDeleteController를 호출하기 전에 드라이버가 컨트롤러 확장에 스토리지를 제공한 특정 리소스를 해제해야 합니다. 예를 들어 드라이버가 컨트롤러 확장의 인터럽트 개체에 대한 포인터를 저장하는 경우 IoDeleteController 전에 IoDisconnectInterrupt를 호출해야 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000부터 사용할 수 있습니다.
대상 플랫폼 유니버설
헤더 ntddk.h(Ntddk.h 포함)
라이브러리 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
DDI 규정 준수 규칙 HwStorPortProhibitedDDIs(storport), IrqlIoPassive4(wdm), PowerIrpDDis(wdm)

추가 정보

IoCreateController

IoDisconnectInterrupt