次の方法で共有


ChangerQueryVolumeTags 関数 (mcd.h)

ChangerQueryVolumeTags は、IOCTL_CHANGER_QUERY_VOLUME_TAGSの IOCTL コードを使用して、デバイスコントロール IRP のデバイス固有の側面を処理します。

構文

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

パラメーター

[in] DeviceObject

チェンジャーを表すデバイス オブジェクトへのポインター。

[in] Irp

IRP へのポインター。

戻り値

changer がボリューム タグ情報の取得をサポートしている場合、changerQueryVolumeTags は、システム ポート ドライバーによって返されるSTATUS_XXX 値、または次のいずれかの値を返します。

STATUS_SUCCESS

STATUS_INVALID_ELEMENT_ADDRESS

STATUS_INSUFFICIENT_RESOURCES

changer がボリューム タグ情報の取得をサポートしていない場合、ChangerQueryVolumeTags はSTATUS_INVALID_DEVICE_REQUESTを返します。

備考

このルーチンは、SEND VOLUME TAGS と REQUEST VOLUME ELEMENT ADDRESS という 2 つの SCSI コマンドの機能を組み合わせたものです。 このルーチンは必須です。

ChangerQueryVolumeTags 、指定された要素のボリューム タグ情報を取得します。 また、チェンジャーがこれらの操作をサポートしている場合は、ボリューム タグ情報を定義またはクリアするためにも使用できます。 GET_CHANGER_PARAMETERS 構造体の Features0 メンバーのCHANGER_VOLUME_IDENTIFICATION フラグは、チェンジャーがこの機能をサポートしているかどうかを示します。

changer クラス ドライバーは、ChangerQueryVolumeTagsを呼び出す前に、I/O スタックの場所で入力バッファーと出力バッファーの長さを確認します。 Irp->SystemBuffer は、要素、実行する操作、および検索または設定するボリューム ID を指定するテンプレートを示す CHANGER_SEND_VOLUME_TAG_INFORMATION 構造体を指します。

ChangerQueryVolumeTags 最初に、サポートされていない操作のアクション コードを確認し、サポートされていない操作のSTATUS_INVALID_DEVICE_REQUESTを返します。 次に、CDB を使用して SRB をビルドし、開始要素のデバイス固有のアドレスを示し、それをシステム ポート ドライバーに送信し、ボリューム ID テンプレートをパラメーターとして渡します。 (SCSI チェンジャーの場合、ミニクラス ドライバーは SCSI コマンド SEND VOLUME TAG を使用します)。

最初の SRB が成功した場合、ChangerQueryVolumeTags は、前の SRB の結果を転送する CDB を使用して 2 つ目の SRB をビルドします。 (SCSI チェンジャーの場合、ミニクラス ドライバーは SCSI コマンド REQUEST VOLUME ELEMENT ADDRESS を使用します)。

ChangerQueryVolumeTags、ボリューム タグ情報が転送された要素の数と各要素の情報を示す>AssociatedIrp.SystemBuffer- IrpREAD_ELEMENT_ADDRESS_INFO 構造体を入力します。

システム バッファーに入力した後、ChangerQueryVolumeTags は、Information フィールドを、changer クラス ドライバーに戻る前にバッファーに書き込まれたバイト数に設定します。

必要条件

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

関連項目

、 GET_CHANGER_PARAMETERS

CHANGER_ELEMENT

CHANGER_ELEMENT_STATUS

CHANGER_SEND_VOLUME_TAG_INFORMATION

ChangerGetElementStatus

READ_ELEMENT_ADDRESS_INFO