EtwpInitializeRealTimeConnection
NTSTATUS __stdcall EtwpInitializeRealTimeConnection(){
_UNICODE_STRING DestinationString;
_OBJECT_TYPE_INITIALIZER ObjectTypeInitializer;
DestinationString = 0i64;
memset(&ObjectTypeInitializer, 0i64, sizeof(ObjectTypeInitializer));
ObjectTypeInitializer._bf_0 |= 0x18u;
ObjectTypeInitializer.OpenProcedure = (int(__fastcall *)(_OB_OPEN_REASON, char, _EPROCESS *, void *, unsigned int *, unsigned int))EtwpOpenRealTimeConnectionObject;
ObjectTypeInitializer.Length = 120;
ObjectTypeInitializer.CloseProcedure = (void(__fastcall *)(_EPROCESS *, void *, unsigned __int64, unsigned __int64))EtwpCloseRealTimeConnectionObject;
ObjectTypeInitializer.InvalidAttributes = 256;
ObjectTypeInitializer.DeleteProcedure = (void(__fastcall *)(void *))EtwpDeleteRealTimeConnectionObject;
ObjectTypeInitializer.GenericMapping = EtwpGenericMapping;
ObjectTypeInitializer.ValidAccessMask = 1024;
ObjectTypeInitializer.PoolType = NonPagedPoolNx;
ObjectTypeInitializer.DefaultNonPagedPoolCharge = 160;
RtlInitUnicodeString(&DestinationString, L"EtwConsumer");
return ObCreateObjectType(&DestinationString, &ObjectTypeInitializer, 0i64, &EtwpRealTimeConnectionObjectType);
}Referenced by:
EtwpInitialize