/* The destructor function frees resources allocated by constructor. */
EFI_STATUS EFIAPI SmmPerformanceLibDestructor(IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable)
/* The destructor function frees resources allocated by constructor. */
EFI_STATUS EFIAPI SmmPerformanceLibDestructor(IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable)
{
  EFI_STATUS  Status;
  Status = gSmst->SmmRegisterProtocolNotify (
                    &gEdkiiSmmExitBootServicesProtocolGuid,
                    NULL,
                    &mPerformanceLibExitBootServicesRegistration
                    );
  ASSERT_EFI_ERROR (Status);
  return Status;
}