SuppressIf là gì?
SuppressIf ẩn hoàn toàn một block UI khi điều kiện IFR đúng, khác với GrayOutIf.
SuppressIf là câu lệnh điều kiện làm một question hoặc một block UI biến mất hoàn toàn khỏi Setup khi điều kiện đúng.
Nó khác với GrayOutIf: suppress là ẩn, gray out là vẫn hiện nhưng không cho sửa.
suppressif ideqval Setup.NetworkStack == 0;
checkbox varid = Setup.PxeBoot,
prompt = STRING_TOKEN(STR_PXE_BOOT),
questionid = QUESTION_ID_PXE_BOOT;
endcheckbox;
endif;
Khi nào dùng?
- Ẩn option không có ý nghĩa trên platform hiện tại.
- Ẩn setting phụ khi feature cha chưa enable.
- Ẩn advanced/debug option ở production mode.
Debug Diary
Case: QA báo “PXE Boot option bị mất”. Dump IFR thấy option vẫn tồn tại nhưng nằm trong SuppressIf phụ thuộc NetworkStack == 0.
Kết luận: không phải PXE driver mất. Setup đang cố tình ẩn option vì policy cha đang disable.
Khi option biến mất
Bài liên quan
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.
HII Architecture Overview
Knowledge map tổng quan về HII, VFR, IFR, VarStore, callback và flow lưu BIOS Setup.
HII Save, Callback và Reset Flow
Giải thích cách Setup Browser gọi callback, route config, lưu NVRAM và áp dụng sau reset.
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.
Biến note thành bài viết hoàn chỉnh
Notes là nơi ghi nhanh khái niệm.