IoCreateController 함수(ntddk.h)
IoCreateController 루틴은 드라이버 결정 크기의 컨트롤러 확장으로 컨트롤러 개체에 대한 메모리를 할당하고 초기화합니다.
구문
PCONTROLLER_OBJECT IoCreateController(
[in] ULONG Size
);
매개 변수
[in] Size
컨트롤러 확장에 할당할 바이트 수를 지정합니다.
반환 값
요청된 디바이스 확장에 메모리를 할당할 수 없는 경우 IoCreateController는 컨트롤러 개체 또는 NULL 포인터에 대한 포인터를 반환합니다.
설명
컨트롤러 개체는 일반적으로 단일 드라이버가 I/O 요청을 수행하는 연결된 디바이스가 있는 물리적 디바이스 컨트롤러를 나타냅니다. 컨트롤러 확장은 비페이지 풀에서 할당되며 드라이버 루틴 및 임의의 스레드 컨텍스트에서 액세스할 수 있도록 보장됩니다.
컨트롤러 개체는 I/O 요청을 단일 모놀리식 드라이버에 동시에 입력할 수 있는 대상 디바이스에 I/O 작업을 동기화하는 데 사용됩니다. 또한 드라이버는 컨트롤러 개체를 사용하여 디바이스 채널을 통해 작업을 동기화할 수도 있습니다.
IoCreateController가 NULL을 반환하는 경우 드라이버는 디바이스 시작에 실패해야 합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000부터 사용할 수 있습니다. |
대상 플랫폼 | 유니버설 |
헤더 | ntddk.h(Ntddk.h 포함) |
라이브러리 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
DDI 규정 준수 규칙 | HwStorPortProhibitedDDIs(storport), IrqlIoPassive2(wdm), PowerIrpDDis(wdm) |
추가 정보
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기