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