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 |
참고 항목
피드백
다음에 대한 사용자 의견 제출 및 보기