PpLastGoodDoBootProcessing
VOID __stdcall PpLastGoodDoBootProcessing(){
WCHAR v0;
WCHAR v1;
WCHAR v2;
WCHAR v3;
NTSTATUS v4;
UNICODE_STRING SourceRegPath;
struct _UNICODE_STRING DestinationString;
UNICODE_STRING DestinationRegPath;
UNICODE_STRING DestinationPathName;
DestinationString = 0i64;
DestinationPathName = 0i64;
SourceRegPath = 0i64;
DestinationRegPath = 0i64;
RtlInitUnicodeString(&DestinationString, L"\\SystemRoot\\LastGood", v0);
RtlInitUnicodeString(&SourceRegPath, L"\\Registry\\Machine\\System\\LastKnownGoodRecovery\\LastGood", v1);
RtlInitUnicodeString(&DestinationPathName, L"\\SystemRoot\\LastGood.Tmp", v2);
RtlInitUnicodeString(&DestinationRegPath, L"\\Registry\\Machine\\System\\LastKnownGoodRecovery\\LastGood.Tmp", v3);
if( CmIsLastKnownGoodBoot() )
{
PiLastGoodRevertLastKnownDirectory(&DestinationString, &SourceRegPath);
PiLastGoodRevertLastKnownDirectory(&DestinationPathName, &DestinationRegPath);
}
else if( !InitSafeBootMode )
{
v4 = IopFileUtilRename(&DestinationString, &DestinationPathName, 0);
if( (int)(v4 + 0x80000000) < 0 || v4 == -1073741772 )
PiLastGoodCopyKeyContents(&SourceRegPath, &DestinationRegPath);
}
}Referenced by:
IoInitSystemPreDrivers