ChangerInitializeElementStatus 함수(mcd.h)
ChangerInitializeElementStatus 는 IOCTL 코드 IOCTL_CHANGER_INITIALIZE_ELEMENT_STATUS 사용하여 디바이스 제어 IRP의 디바이스별 측면을 처리합니다.
구문
NTSTATUS ChangerInitializeElementStatus(
[in] PDEVICE_OBJECT DeviceObject,
[in] PIRP Irp
);
매개 변수
[in] DeviceObject
변경자를 나타내는 디바이스 개체에 대한 포인터입니다.
[in] Irp
IRP에 대한 포인터입니다.
반환 값
ChangerInitializeElementStatus는 시스템 포트 드라이버 또는 다음 값 중 하나에서 반환된 상태 반환합니다.
STATUS_SUCCESS
STATUS_INVALID_PARAMETER
STATUS_INSUFFICIENT_RESOURCES
변경기가 특정 형식의 요소 범위 초기화를 지원하지 않고 ChangerInitializeElementStatus가 AllElements 이외의 요소 형식으로 호출되면 STATUS_INVALID_PARAMETER 반환됩니다.
설명
이 루틴은 필수입니다.
ChangerInitializeElementStatus 는 변경자의 내부 메모리를 해당 요소에 대한 현재 정보로 업데이트합니다.
ChangerInitializeElementStatus를 호출하기 전에 변경자 클래스 드라이버는 I/O 스택 위치에서 입력 버퍼 길이를 확인합니다.
Irp-SystemBuffer>는 CHANGER_INITIALIZE_ELEMENT_STATUS 구조를 상태 초기화할 요소와 바코드 레이블에서 가져온 데이터로 요소 상태 초기화할지 여부를 나타내는 입력 매개 변수로 가리킵니다.
SCSI 변경자의 경우 ChangerInitializeElementStatus는 CDB를 사용하여 SRB를 빌드하여 요소 상태 초기화하고, 0부터 시작하는 요소 주소를 디바이스별 주소로 변환하고, SRB를 시스템 포트 드라이버로 보냅니다.
ChangerInitializeElementStatus는 변경자 클래스 드라이버로 돌아가기 전에 I/O 상태 블록의 정보 필드를 sizeof(CHANGER_INITIALIZE_ELEMENT_STATUS)로 설정합니다.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | 데스크톱 |
머리글 | mcd.h(Mcd.h, Ntddchgr.h 포함) |
IRQL | PASSIVE_LEVEL |