BcdCloseStore
NTSTATUS __stdcall BcdCloseStore(PVOID StoreHandle){
UINT64 v1;
_UNICODE_STRING *v2;
_UNICODE_STRING *v3;
UINT8 IsOfflineHandle;
unsigned int v6;
NTSTATUS v7;
NTSTATUS v8;
NTSTATUS v10;
IsOfflineHandle = BiIsOfflineHandle((_HHIVE *)StoreHandle, v1, v2, v3);
if( (int)BiAcquireBcdSyncMutant(IsOfflineHandle) < 0 )
{
BiLogMessage();
return v10;
}
else
{
if( BiIsSystemStore(StoreHandle) )
{
v6 = BiIsSynchFirmwareEntries(StoreHandle) != 0 ? 4 : 0;
if( BiIsWinPEBoot() )
v6 |= 2u;
}
else
{
v6 = 2;
}
BiLogMessage();
BiCloseStore(StoreHandle, v6);
v8 = v7;
BiReleaseBcdSyncMutant(IsOfflineHandle);
return v8;
}
}Referenced by:
BiLoadSystemStore
PopBcdClose
SepSecureBootCorrectBcd
WheaPersistBadPageToBcd