CmpCreatePredefined
VOID __stdcall CmpCreatePredefined(PVOID Root, WCHAR *KeyName, PVOID PredefinedHandle){
WCHAR v6;
HANDLE Handle;
struct _UNICODE_STRING DestinationString;
int v9[2];
PVOID v10;
struct _UNICODE_STRING *p_DestinationString;
int v12;
int v13;
__int128 v14;
PVOID Object;
struct _OBJECT_HANDLE_INFORMATION v16;
int v17;
PVOID v18;
int v19;
_QWORD v20[9];
INT64 result[11];
v9[1] = 0;
v13 = 0;
Handle = 0i64;
DestinationString = 0i64;
memset((INT64)&v16, 0i64);
v19 = -1;
v20[1] = v20;
v20[0] = v20;
memset((INT64)result, 0i64);
v17 = 16777217;
v16.HandleAttributes = 33;
v18 = PredefinedHandle;
RtlInitUnicodeString(&DestinationString, KeyName, v6);
p_DestinationString = &DestinationString;
v9[0] = 48;
v10 = Root;
v12 = 576;
v14 = 0i64;
if( ObOpenObjectByName((__int64)v9, (__int64)CmKeyObjectType, 0, 0i64, 0x20019u, (__int64)&v16, &Handle) >= 0 )
{
ObReferenceObjectByHandle(Handle, 0, (POBJECT_TYPE)CmKeyObjectType, 0, &Object, 0i64);
ZwClose(Handle);
}
CmpCleanupParseContext((__int64)&v16, 0);
}Referenced by:
CmpCreatePerfKeys