PiCslInitialize
NTSTATUS __stdcall PiCslInitialize(){
int v0;
_UNICODE_STRING v2;
_OBJECT_ATTRIBUTES ObjectAttributes;
*(&ObjectAttributes.Length + 1) = 0;
*(&ObjectAttributes.Attributes + 1) = 0;
PipCslConsoleLockState = 0;
v2 = 0i64;
RtlInitUnicodeString(&v2, L"\\Callback\\IoExternalDmaUnblock");
ObjectAttributes.RootDirectory = 0i64;
ObjectAttributes.Length = 48;
ObjectAttributes.Attributes = 80;
ObjectAttributes.ObjectName = &v2;
*(_OWORD *)&ObjectAttributes.SecurityDescriptor = 0i64;
v0 = ExCreateCallback((PCALLBACK_OBJECT *)&PipCslCallbackObject, &ObjectAttributes, 1u, 1u);
if( v0 >= 0 )
{
ExRegisterCallback((PCALLBACK_OBJECT)PipCslCallbackObject, PipCslStateChangeCallback, 0i64);
PipCslInitialized = 1;
}
return v0;
}Referenced by:
IopInitializePlugPlayServices