Руководства против протоколов в EDK2
Я пытался понять различные разделы в файле объявления пакета (.dec) модуля EDK2, однако я не могу понять, почему некоторые определения GUID находятся в разделе [GUIDs], а некоторые в [Protocols] раздел или [Ppis] раздел. Есть ли причина, по которой они не должны быть в одном разделе, особенно с точки зрения процесса сборки EDK2?
1 ответ
Итак, это не более половины ответа, но:
GUID, в конечном счете, является ничем иным, как 128-битным значением, статистически гарантированно уникальным (если оно генерируется с использованием определенного метода).
[Guids]
раздел .dec
определяет GUID, которые указывают на общие структуры данных, пространства имен переменных, вещи...
[Protocols]
раздел определяет обнаруживаемые UEFI API, тогда как [Ppis]
определяет PEI (Pre-EFI) API.
В конечном итоге это становится актуальным при обработке модуля .inf
файлы, которые объявляют, какие [Guids], [Protocols] и [Ppis] они должны построить. То есть, вы можете просто объявить все как GUID, но тогда вы потеряете любую проверку работоспособности, не позволяющую использовать PPI в DXE или наоборот.