RtlpCtContextInit
INT64 __fastcall RtlpCtContextInit(INT64 *a1, INT64 a2){
unsigned int v2;
VOID *PoolWithTag;
struct _EX_RUNDOWN_REF **v5;
int v6;
*a1 = 0i64;
v2 = a2;
PoolWithTag = ExAllocatePoolWithTag(PagedPool, 0x18ui64, 0x67744364ui64);
v5 = (struct _EX_RUNDOWN_REF **)PoolWithTag;
if( PoolWithTag )
{
*(_OWORD *)PoolWithTag = 0i64;
*((_QWORD *)PoolWithTag + 2) = 0i64;
v6 = RtlpCtInitializeNotificationEvent((KEVENT **)PoolWithTag + 2);
if( v6 < 0
|| (v6 = RtlpCtInitializeWorkItem((CHAR **)v5, (INT64)v5), v6 < 0)
|| (v6 = ExSubscribeWnfStateChange(
v5 + 1,
(INT64 *)&WNF_SEB_DEV_MNF_CUSTOM_NOTIFICATION_RECEIVED,
8i64,
v2,
(INT64)RtlpRtlpCtSelfSubscribeCallback,
(INT64)v5),
v6 < 0) )
{
RtlpCtContextFree(v5);
}
else
{
*a1 = (INT64)v5;
}
}
else
{
return(unsigned int)-1073741670;
}
return(unsigned int)v6;
}Referenced by:
No references.