SleepstudyHelperCreateBlockerFromDevice
__int64 __fastcall SleepstudyHelperCreateBlockerFromDevice(__int64 a1, __int128 *a2, _DEVICE_OBJECT *a3, _QWORD *a4){
VOID **v4;
VOID **PoolWithTag;
NTSTATUS DeviceFriendlyName;
__int128 v11;
v4 = 0i64;
if( a1 && a2 && a3 && a4 )
{
PoolWithTag = ExAllocatePoolWithTag(1ui64, 0x50ui64, *(unsigned int *)(a1 + 24));
v4 = PoolWithTag;
if( !PoolWithTag )
return(unsigned int)-1073741670;
memset(PoolWithTag, 0i64, 0x50u);
*v4 = (VOID *)a1;
v11 = *a2;
v4[4] = a3;
*((_BYTE *)v4 + 72) = 1;
*((_OWORD *)v4 + 1) = v11;
DeviceFriendlyName = SshpGenerateDeviceFriendlyName(a3);
if( DeviceFriendlyName >= 0 )
{
*a4 = v4;
return 0;
}
}
else
{
DeviceFriendlyName = -1073741811;
}
if( v4 )
SleepstudyHelperDestroyBlockerBuilder(v4);
return(unsigned int)DeviceFriendlyName;
}Referenced by:
SleepstudyHelper_RegisterPdoWithParentGuid
SleepstudyHelper_RegisterPdoWithParentHandle
SleepstudyHelper_RegisterPdoWithParentPdo