struktur SES_DOWNLOAD_MICROCODE_CONTROL_DIAGNOSTIC_PAGE (scsi.h)
Struktur SES_DOWNLOAD_MICROCODE_CONTROL_DIAGNOSTIC_PAGE berisi gambar kode mikro khusus vendor (yaitu, firmware) untuk digunakan oleh proses layanan penutup.
Sintaks
typedef struct _SES_DOWNLOAD_MICROCODE_CONTROL_DIAGNOSTIC_PAGE {
UCHAR PageCode;
UCHAR SubEnclosureId;
UCHAR PageLength[2];
UCHAR ExpectedGenerationCode[4];
UCHAR Mode;
UCHAR Reserved[2];
UCHAR BufferID;
UCHAR BufferOffset[4];
UCHAR ImageLength[4];
UCHAR DataLength[4];
UCHAR Data[ANYSIZE_ARRAY];
} SES_DOWNLOAD_MICROCODE_CONTROL_DIAGNOSTIC_PAGE, *PSES_DOWNLOAD_MICROCODE_CONTROL_DIAGNOSTIC_PAGE;
Anggota
PageCode
Menentukan halaman diagnostik yang dikirim atau diminta berdasarkan nilai . Untuk halaman diagnostik Kontrol Microcode, nilainya harus 0x0E.
SubEnclosureId
Menentukan sub penutup tempat klien aplikasi mengirim gambar kode mikro. Jika nilai tidak cocok dengan nilai bidang SUBENCLOSURE_IDENTIFIER yang valid yang ditemukan di SES_CONFIGURATION_DIAGNOSTIC_PAGE, maka proses layanan penutup harus membatalkan operasi pengunduhan kode mikro dengan status 0x80.
PageLength[2]
Menentukan jumlah byte yang mengikuti di halaman diagnostik.
ExpectedGenerationCode[4]
Menentukan nilai kode pembuatan yang diharapkan. Jika parameter ini tidak diatur ke kode pembuatan saat ini, maka proses layanan penutup harus membatalkan operasi pengunduhan kode mikro dengan status 0x80.
Mode
Menentukan mode mana yang akan diunduh dengan kode mikro.
Nilai | Makna |
---|---|
|
Setelah perintah SEND DIAGNOSTIC terakhir mengirimkan halaman diagnostik Download Microcode Control ke sub-penutup selesai, proses layanan penutup harus memverifikasi gambar microcode lengkap (misalnya, melakukan checksum khusus vendor) dan menyimpan gambar microcode baru ke dalam penyimpanan nonvolatile.
Jika tidak ada kesalahan dalam gambar kode mikro atau dalam operasi penyimpanan, maka proses layanan penutup harus melakukan salah satu tindakan berikut:
|
|
Setelah perintah SEND DIAGNOSTIC terakhir mengirimkan SES_DOWNLOAD_MICROCODE_CONTROL_DIAGNOSTIC_PAGE ke sub-penutup selesai, proses layanan penutup harus memverifikasi gambar mikrokode lengkap (misalnya, melakukan checksum khusus vendor), menyimpan gambar microcode baru ke penyimpanan nonvolatile (misalnya, flash ROM), dan menangguhkan aktivasi mikrokode baru.
Jika tidak ada kesalahan dalam gambar kode mikro atau dalam operasi penyimpanan, maka proses layanan penutup harus mengatur bidang Status di SES_DOWNLOAD_MICROCODE_STATUS_DESCRIPTOR ke 0x13 di SES_DOWNLOAD_MICROCODE_STATUS_DIAGNOSTIC_PAGE, jika diminta, dan mengaktifkan kode mikro baru setelah:
|
|
Setelah perintah SEND DIAGNOSTIC yang menentukan mode ini selesai, proses layanan penutup harus mengaktifkan gambar mikrokode yang ditangguhkan, jika ada. |
|
Disiapkan untuk penggunaan masa mendatang. |
Reserved[2]
Disiapkan untuk penggunaan masa mendatang.
BufferID
Menentukan buffer tertentu dalam proses layanan penutup untuk menerima gambar microcode. Proses layanan penutup menetapkan kode ID buffer khusus vendor ke buffer (misalnya, gambar firmware utama dapat disimpan dalam buffer 00h dan gambar firmware cadangan dapat disimpan di buffer 01h). Proses layanan penutup harus mendukung nilai ID buffer 00h. Jika lebih dari satu buffer didukung, maka proses layanan penutup harus menetapkan kode ID buffer tambahan secara berdekatan, dimulai dengan 01h. Jika proses layanan penutup menerima kode ID buffer yang tidak didukung, maka itu harus membatalkan operasi pengunduhan kode mikro dan mengatur bidang Status di SES_DOWNLOAD_MICROCODE_STATUS_DESCRIPTOR ke 0x80 dalam struktur SES_DOWNLOAD_MICROCODE_STATUS_DIAGNOSTIC_PAGE .
BufferOffset[4]
Menentukan offset dalam byte dalam buffer tempat data kode mikro ditulis dalam kelipatan empat. Proses layanan penutup mungkin mengharuskan bidang ini meningkat secara berurutan dalam perintah SEND DIAGNOSTIC berturut-turut.
ImageLength[4]
menentukan jumlah total byte dalam gambar kode mikro yang ingin dikirim aplikasi ke BufferID yang ditentukan.
DataLength[4]
Menentukan panjang Data, dalam byte.
Data[ANYSIZE_ARRAY]
Berisi bagian dari gambar mikrokode khusus vendor.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Tersedia di windows versi Windows 10, versi 1709, dan yang lebih baru. |
Header | scsi.h (termasuk Minitape.h, Storport.h) |