/* Creates an event for each entry in a table that is fired everytime a Protocol of a specific type is installed. */
VOID CoreNotifyOnProtocolEntryTable(EFI_CORE_PROTOCOL_NOTIFY_ENTRY *Entry)
/* Creates an event for each entry in a table that is fired everytime a Protocol of a specific type is installed. */
VOID CoreNotifyOnProtocolEntryTable(EFI_CORE_PROTOCOL_NOTIFY_ENTRY *Entry)
{
  EFI_STATUS  Status;
  for ( ; Entry->ProtocolGuid != NULL; Entry++) {
    Status = CoreCreateEvent (
               EVT_NOTIFY_SIGNAL,
               TPL_CALLBACK,
               GenericProtocolNotify,
               Entry,
               &Entry->Event
               );
    ASSERT_EFI_ERROR (Status);
    Status = CoreRegisterProtocolNotify (
               Entry->ProtocolGuid,
               Entry->Event,
               &Entry->Registration
               );
    ASSERT_EFI_ERROR (Status);
  }
}