다음을 통해 공유


ChangerClassDeviceControl 함수(mcd.h)

ChangerClassDeviceControl 루틴은 클래스 드라이버가 디바이스 제어 작업의 디바이스 독립적 측면을 수행할 수 있도록 체인저 미니드라이버에 의해 호출됩니다.

구문

NTSTATUS ChangerClassDeviceControl(
  [in] PDEVICE_OBJECT DeviceObject,
  [in] PIRP           Irp
);

매개 변수

[in] DeviceObject

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

[in] Irp

디바이스 제어 작업을 시작한 IRP(I/O 요청 패킷)에 대한 포인터입니다.

반환 값

작업이 성공하면 ChangerClassDeviceControl 루틴은 STATUS_SUCCESS 반환합니다. 그렇지 않으면 루틴은 다음 상태 값 중 하나를 반환합니다.

반환 코드 설명
STATUS_NO_SUCH_DEVICE
디바이스 개체에 디바이스 확장이 제대로 초기화되지 않았습니다.
STATUS_INFO_LENGTH_MISMATCH
IRP에 표시된 출력 버퍼의 길이가 너무 작아서 반환 데이터를 저장할 수 없습니다.
STATUS_BUFFER_TOO_SMALL
IRP에 표시된 입력 버퍼의 길이가 너무 작아서 작업을 완료하는 데 필요한 입력 데이터를 보유할 수 없습니다.
STATUS_INVALID_PARAMETER
입력 버퍼의 길이는 0입니다.

요구 사항

요구 사항
대상 플랫폼 데스크톱
머리글 mcd.h(Mcd.h, Ntddchgr.h 포함)