什么是UEFIStatusCode? UEFI驱动利用Statuscode汇报当前驱动执行的状态UEFIStatusCode分类 1。ProgressCodes UEFI用ProgressCodes来表示代码执行的进度状态。 2。ErrorCodes UEFI用ErrorrCodes报告代码执行的错误,异常状况。 3。DebugCodes 包含软件执行过程中用来debug目的的信息。StatusCodeRuter StatusConsumer 提供callback,用来解码StatusCode,并处理。StatusProducer UEFI代码中利用REPORTSTATUSCODE宏产生StatusCode。GenericStatusCodeDriver UEFI在每一个阶段(PEI,DXE,Runtime,SMM)都会有一个statuscodedriver。这个driver用来提供ReportStatusCodeHandler并且提供ReportStatusCodePPI或者Protocol。RSCHandlerProtocolPPI Register注册statuscode消息通知callback。 UnRegister取消注册callback。 RSCHandler RSCPPI或者Protocol 提供Dispatcherservice用来reportstatuscode,ReportDispatcher会call所有的consumer提供的callback。PEIDXEserviceReportStatusCodeservice就是透过RSCPPIProtocol来ReportStatuscoce。 RSCDispatcher