次の方法で共有


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 が特定の型の要素の範囲の初期化をサポートせず、AllElements 以外の要素型で ChangerInitializeElementStatus が呼び出された場合は、STATUS_INVALID_PARAMETERを返します。

備考

このルーチンは必須です。

ChangerInitializeElementStatus は、その要素に関する現在の情報を使用して、チェンジャーの内部メモリを更新します。

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) に設定します。

必要条件

要件 価値
ターゲット プラットフォーム デスクトップ
ヘッダー mcd.h (Mcd.h、Ntddchgr.h を含む)
IRQL PASSIVE_LEVEL

関連項目

CHANGER_ELEMENT_LIST

CHANGER_INITIALIZE_ELEMENT_STATUS

ChangerGetElementStatus