GETVERSIONINPARAMS 構造体は、バージョン情報、機能マスク、および指定されたデバイスのビットマスクを取得する SMART_GET_VERSION 要求と組み合わせて使用されます。
構文
typedef struct _GETVERSIONINPARAMS {
UCHAR bVersion;
UCHAR bRevision;
UCHAR bReserved;
UCHAR bIDEDeviceMap;
ULONG fCapabilities;
ULONG dwReserved[4];
} GETVERSIONINPARAMS, *PGETVERSIONINPARAMS, *LPGETVERSIONINPARAMS;
メンバーズ
bVersion
バイナリ ドライバーのバージョン番号を示す整数を格納します。
bRevision
バイナリ ドライバーのリビジョン番号を示す整数を格納します。
bReserved
引っ込み思案。
bIDEDeviceMap
ビットマップを格納します。 次の表では、ビットマップの意味について説明します。
| ビットマップ フラグ | 意味 |
|---|---|
| ビット 0 は 1 に設定されます。 | デバイスは SATA ドライブまたは IDE ドライブです。 IDE ドライブの場合は、プライマリ チャネル上のマスター デバイスです。 |
| ビット 1 は 1 に設定されます。 | デバイスは IDE ドライブであり、プライマリ チャネル上の下位デバイスです。 |
| ビット 2 は 1 に設定されます。 | デバイスは IDE ドライブであり、セカンダリ チャネル上のマスター デバイスです。 |
| ビット 3 は 1 に設定されます。 | デバイスは IDE ドライブであり、セカンダリ チャネル上の下位デバイスです。 |
| ビット 4 は 1 に設定されます。 | デバイスは ATAPI ドライブであり、プライマリ チャネル上のマスター デバイスです。 |
| ビット 5 は 1 に設定されます。 | デバイスは ATAPI ドライブであり、プライマリ チャネルの下位デバイスです。 |
| ビット 6 は 1 に設定されます。 | デバイスは ATAPI ドライブであり、セカンダリ チャネル上のマスター デバイスです。 |
| ビット 7 は 1 に設定されます。 | デバイスは ATAPI ドライブであり、セカンダリ チャネル上の下位デバイスです。 |
fCapabilities
ドライバー機能のビットマスクが含まれています。
| ビットマップ フラグ | 意味 |
|---|---|
| CAP_ATA_ID_CMD | デバイスは ATA ID コマンドをサポートしています。 |
| CAP_ATAPI_ID_CMD | デバイスは ATAPI ID コマンドをサポートしています。 |
| CAP_SMART_CMD | デバイスは SMART コマンドをサポートしています。 |
dwReserved[4]
引っ込み思案。
備考
SMART_GET_VERSION コントロール コードは、デバイスのバージョン情報、機能マスク、およびビットマスクを返します。 この IOCTL は、Self-Monitoring 分析およびレポート テクノロジ (SMART) をサポートするドライバーによって処理される必要があります。
入力パラメーター
Parameters.DeviceIoControl.OutputBufferLength は、バッファーのサイズ (バイト単位) を示します。これは、>= sizeof(GETVERSIONINPARAMS) である必要があります。
出力パラメーター
ドライバーは、Irp->AssociatedIrp.SystemBuffer でバッファーに情報を返します。
I/O 状態ブロック
ドライバーは、Status フィールドをSTATUS_SUCCESSに設定するときに、情報フィールドを sizeof(GETVERSIONINPARAMS) に設定します。 それ以外の場合、ドライバーは情報フィールドを 0 に設定し、状態フィールドをSTATUS_INVALID_PARAMETER可能性があります。
必要条件
| 要件 | 価値 |
|---|---|
| サポートされる最小クライアント | Windows 2000 |
| ヘッダー | ntdddisk.h (Ntdddisk.h を含む) |