IopCachePreviousBootData
VOID __stdcall IopCachePreviousBootData(VOID **KeyHandle){
UINT64 DataSize;
UINT64 ValueLength;
__int64 Value;
_UNICODE_STRING ValueName;
_GUID VendorGuid;
Value = 0i64;
ValueName.Buffer = L"DumpInstancePrvBoot";
VendorGuid.Data1 = 2012912317;
*(_DWORD *)&VendorGuid.Data2 = 1295123289;
*(_DWORD *)VendorGuid.Data4 = -198680387;
*(_DWORD *)&VendorGuid.Data4[4] = 1266192359;
LODWORD(ValueLength) = 8;
*(_QWORD *)&ValueName.Length = 2621478i64;
if( IoGetEnvironmentVariableEx((WCHAR *)L"DumpInstance", &VendorGuid, &Value, &ValueLength, 0i64) >= 0 )
{
LODWORD(DataSize) = 8;
ZwSetValueKey(*KeyHandle, &ValueName, 0i64, 0xBui64, &Value, DataSize);
}
}Referenced by:
IopInitializeOfflineCrashDump