次の方法で共有


IOCTL_CHANGER_GET_ELEMENT_STATUS IOCTL (ntddchgr.h)

すべての要素の状態、または特定の型の指定した数の要素の状態を返します。

使用可能な要素型の説明については、「 CHANGER_ELEMENT」を参照してください。

メジャー コード

IRP_MJ_DEVICE_CONTROL

[入力バッファー]

Irp-AssociatedIrp.SystemBuffer> のバッファーには、要素の種類と状態を返す要素の数を示すCHANGER_READ_ELEMENT_STATUS データが含まれています。

呼び出し元がCHANGER_READ_ELEMENT_STATUSの VolumeTagInfo メンバーを TRUE に設定した場合、返される要素の状態にはボリューム タグ情報が含まれます。

入力バッファーの長さ

I/O スタックの場所にある Parameters.DeviceIoControl.InputBufferLength は、入力のパラメーター バッファーのサイズ (バイト単位) を示します。これは、 = sizeof(CHANGER_READ_ELEMENT_STATUS) である必要があります>。

出力バッファー

チェンジャー ミニクラス ドライバーは、Irp-AssociatedIrp.SystemBuffer> のバッファー内の changer 要素の状態データを返します。 ChangerDrive 型の一部の要素では、製品情報データが返されます。 デバイスが製品情報を提供する場合、ミニクラス ドライバーは、 CHANGER_ELEMENT_STATUS_EX型の構造体で要素の状態データを報告します。 ミニクラス ドライバーは、構造体の Flags メンバーにELEMENT_STATUS_PRODUCT_DATAを設定して、製品情報データが含まれていることを示します。 ChangerDrive 以外のすべての型の要素の場合、ドライバーは型CHANGER_ELEMENT_STATUSの構造で要素の状態データ報告します。

出力バッファーの長さ

Parameters.DeviceIoControl.OutputBufferLength は、出力用のパラメーター バッファーのサイズ (バイト単位) を示します。 ChangerDrive 型の要素の場合、この値は >NumberOfElements * sizeof(CHANGER_ELEMENT_STATUS_EX) である必要があります。 他のすべての型の要素の場合、この値は >NumberOfElements * sizeof(CHANGER_ELEMENT_STATUS) である必要があります。

ステータス ブロック

[情報] フィールドは、返されるバイト数に設定されます。 [状態] フィールドはSTATUS_SUCCESSに設定され、場合によってはSTATUS_BUFFER_TOO_SMALL、STATUS_INFO_LENGTH_MISMATCH、STATUS_INSUFFICIENT_RESOURCES、STATUS_INVALID_ELEMENT_ADDRESS、またはSTATUS_INVALID_PARAMETERに設定されます。

要件

要件
Header ntddchgr.h (Ntddchgr.h を含む)

こちらもご覧ください

CHANGER_ELEMENT

CHANGER_ELEMENT_STATUS

CHANGER_ELEMENT_STATUS_EX

ChangerGetElementStatus