HII VFR Element Cheat Sheet

Bảng tổng hợp các element VFR như checkbox, oneof, numeric, string, date, time và ordered list.

3 phút đọc
HII / BIOS Setup Terms cover

Trang này là bảng tra nhanh các element thường gặp trong VFR/HII. Khi thêm một option mới vào BIOS Setup, hãy chọn element theo loại dữ liệu thật sự cần lưu, không chọn theo cảm giác UI.

Bảng element thường gặp

Mục Giá trị Ghi chú
checkbox Bật/tắt Dùng cho boolean: Fast Boot, Network Stack, Wake on LAN.
oneof Chọn một trong nhiều option Dùng cho SATA Mode, Boot Mode, Power Policy.
numeric Nhập/chọn số Dùng cho timeout, threshold, fan speed limit.
string Nhập text Dùng cho asset tag, hostname, custom string.
password Nhập mật khẩu Cần xử lý security và storage rất cẩn thận.
date Ngày Thường liên quan RTC hoặc manufacturing data.
time Giờ Có thể liên quan RTC hoặc wake schedule.
orderedlist Danh sách có thứ tự Dùng khi user sắp xếp priority list.
goto Điều hướng sang form khác Dùng để tạo menu tree.
subtitle/text Hiển thị thông tin Không nhất thiết ghi vào VarStore.

Bảng condition/control opcode

Mục Giá trị Ghi chú
suppressif Ẩn option/block Dùng khi option không liên quan hoặc không support.
grayoutif Khóa option nhưng vẫn hiển thị Dùng khi user cần biết option tồn tại nhưng bị policy khóa.
disableif Vô hiệu hóa theo điều kiện Tùy Browser/platform, nên test kỹ behavior.
warningif Cảnh báo khi điều kiện đúng Dùng cho setting nguy hiểm.
inconsistentif Reject cấu hình không hợp lệ Dùng khi hai setting xung đột.
nosubmitif Không cho submit/save Dùng để bắt user sửa input trước khi lưu.
refresh / refreshguid Yêu cầu refresh Dùng với UI động hoặc data thay đổi.

Chọn element theo dữ liệu

Chọn element đúng

Ví dụ kết hợp với NVRAM

typedef struct {
  UINT8  FastBoot;       // checkbox
  UINT8  SataMode;       // oneof
  UINT16 BootTimeout;    // numeric
  CHAR16 AssetTag[32];   // string
} SETUP_DATA;
varstore SETUP_DATA,
  varid = Setup,
  name  = Setup,
  guid  = SETUP_GUID;

Trong mô hình này, mỗi UI element ghi vào một field trong SETUP_DATA. Khi user nhấn Save & Exit, toàn bộ buffer hoặc phần thay đổi sẽ được route về driver rồi lưu vào NVRAM variable.

Debug tip

Nếu UI element hiển thị đúng nhưng dữ liệu sai, đừng nhìn element trước. Hãy kiểm tra VarOffset, VarStoreId, size field, alignment struct và dump variable sau khi save.

Nguồn tham khảo public

Thấy nội dung này hữu ích?

Lưu lại hoặc chia sẻ cho người cũng đang học firmware, BIOS/UEFI và embedded systems.

Nội dung liên quan

Một số bài viết, ghi chú hoặc project có liên quan đến nội dung bạn vừa đọc.

Biến note thành bài viết hoàn chỉnh

Notes là nơi ghi nhanh khái niệm.