ExpSemaphoreInitialization
UINT8 __stdcall ExpSemaphoreInitialization(){
_UNICODE_STRING DestinationString;
_OBJECT_TYPE_INITIALIZER ObjectTypeInitializer;
DestinationString = 0i64;
RtlInitUnicodeString(&DestinationString, L"Semaphore");
memset(&ObjectTypeInitializer, 0i64, sizeof(ObjectTypeInitializer));
ObjectTypeInitializer.Length = 120;
ObjectTypeInitializer.ObjectTypeCode = 8;
ObjectTypeInitializer.InvalidAttributes = 256;
ObjectTypeInitializer.PoolType = NonPagedPoolNx;
ObjectTypeInitializer.GenericMapping = (_GENERIC_MAPPING)ExpSemaphoreMapping;
ObjectTypeInitializer.DefaultNonPagedPoolCharge = 32;
ObjectTypeInitializer.ValidAccessMask = 2031619;
return ObCreateObjectType(&DestinationString, &ObjectTypeInitializer, 0i64, (_OBJECT_TYPE **)&ExSemaphoreObjectType) >= 0;
}Referenced by:
ExpInitSystemPhase1