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
changer が特定の型の要素の範囲の初期化をサポートせず、ChangerInitializeElementStatus が AllElements 以外の要素型で呼び出された場合は、STATUS_INVALID_PARAMETERを返します。
注釈
このルーチンは必須です。
ChangerInitializeElementStatus は、要素に関する現在の情報を使用して、changer の内部メモリを更新します。
changer クラス ドライバーは、 ChangerInitializeElementStatus を呼び出す前に、I/O スタックの場所で入力バッファーの長さを確認します。
Irp-SystemBuffer> は、状態を初期化する要素と、バー コード ラベルから取得したデータを使用して要素の状態を初期化するかどうかを示す入力パラメーターとして、CHANGER_INITIALIZE_ELEMENT_STATUS構造体を指します。
SCSI チェンジャーの場合、 ChangerInitializeElementStatus は CDB を使用して SRB をビルドして要素の状態を初期化し、0 から始まる要素アドレスをデバイス固有のアドレスに変換し、SRB をシステム ポート ドライバーに送信します。
ChangerInitializeElementStatus は、 Changer クラス ドライバーに戻る前に、I/O 状態ブロックの Information フィールドを sizeof(CHANGER_INITIALIZE_ELEMENT_STATUS) に設定します。
要件
要件 | 値 |
---|---|
対象プラットフォーム | デスクトップ |
Header | mcd.h (Mcd.h、Ntddchgr.h を含む) |
IRQL | PASSIVE_LEVEL |