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 識別碼命令。 |
| CAP_SMART_CMD | 裝置支援SMART命令。 |
dwReserved[4]
保留。
言論
SMART_GET_VERSION 控件程式代碼會傳回版本資訊、功能遮罩,以及裝置的位掩碼。 此 IOCTL 必須由支援 Self-Monitoring Analysis and Reporting Technology (SMART) 的驅動程序處理。
輸入參數
Parameters.DeviceIoControl.OutputBufferLength 指出緩衝區的大小,以位元組為單位,該緩衝區必須 >= sizeof(GETVERSIONINPARAMS)。
輸出參數
驅動程式會將資訊傳回至 Irp->AssociatedIrp.SystemBuffer 的緩衝區。
I/O 狀態區塊
驅動程式會將 [資訊] 字段設定為 sizeof(GETVERSIONINPARAMS)時,會將 [狀態] 字段設定為 STATUS_SUCCESS。 否則,驅動程式會將 [資訊] 字段設定為零,並將 [狀態] 字段設定為可能STATUS_INVALID_PARAMETER。
要求
| 要求 | 價值 |
|---|---|
| 最低支援的用戶端 | Windows 2000 |
| 標頭 | ntdddisk.h (包括 Ntdddisk.h) |