MiPromoteControlAreaToStrongCode

NTSTATUS __stdcall MiPromoteControlAreaToStrongCode(
        _CONTROL_AREA *ControlArea,
        _FILE_OBJECT *File,
        INT64 a3,
        UINT64 *a4){
  NTSTATUS result; 
  _MI_IMAGE_SECURITY_REFERENCE *SeImageStub; 
  UINT64 SeSecureType; 

  LODWORD(SeSecureType) = a3 | 0x40000000;
  result = MiValidateSectionCreate(File, ControlArea, 0xFFFFFFFFui64, 0i64, SeSecureType, 0xCu);
  if( result >= 0 )
  {
    SeImageStub = ControlArea->u2.SeImageStub;
    result = MiGetSectionStrongImageReference((INT64)SeImageStub);
    if( result >= 0 )
    {
      *a4 = SeImageStub->StrongImageReference;
      return 0;
    }
  }
  return result;
}

Referenced by:

MiLoadHotPatch