15.03.2015 Views

SetupDesignGuide.pdf - Firmware Encoding Index

SetupDesignGuide.pdf - Firmware Encoding Index

SetupDesignGuide.pdf - Firmware Encoding Index

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Setup Design Guide<br />

DRAFT<br />

7.2.2 EFI_FORM_CONFIGURATION_PROTOCOL.SendMessage()<br />

Summary<br />

This function allows the caller to put data into the configuration driver’s internal mailbox. This has the<br />

effect of allowing data to be posted as a key/value pair and have information be updated as an out-ofband<br />

transaction.<br />

Prototype<br />

EFI_STATUS<br />

(EFIAPI *EFI_SEND_MESSAGE) (<br />

IN EFI_FORM_CONFIGURATION_PROTOCOL *This,<br />

IN UINT16<br />

MessageKey,<br />

IN VOID<br />

*MessageData,<br />

IN UINTN<br />

MessageDataLength<br />

);<br />

Parameters<br />

This<br />

MessageKey<br />

MessageData<br />

MessageDataLength<br />

A pointer to the EFI_FORM_CONFIGURATION_PROTOCOL<br />

instance.<br />

A unique value which will have be associated with a particular opcode.<br />

The messaging services are typically to be used in an<br />

Interactive or Dynamic mode situation where a periodic event may<br />

occur that requires certain pieces of data to be updated. For<br />

instance, temperature sensor data might get dynamically updated<br />

based on events from the calling driver.<br />

A pointer to the data associated with the MessageKey.<br />

The length of the data in MessageData.<br />

Related Definitions<br />

The MessageData format will be based on the op-code type that the<br />

MessageKey references.<br />

If OneOf command:<br />

An array of option encodings.<br />

Each encoding is as follows:<br />

typedef struct _EFI_IFR_OP_HEADER {<br />

UINT8<br />

OpCode;<br />

UINT8<br />

Length;<br />

} EFI_IFR_OP_HEADER;<br />

typedef struct {<br />

EFI_IFR_OP_HEADER<br />

Header;<br />

70

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!