IopCaptureObjectName

WCHAR *__stdcall IopCaptureObjectName(VOID *Object){
  WCHAR *v1; 
  VOID **PoolWithTag; 
  __int64 ReturnLength[2]; 
  ULONG Length; 
  VOID *Src; 

  LODWORD(ReturnLength[0]) = 0;
  v1 = 0i64;
  if( ObQueryNameString(Object, (_OBJECT_NAME_INFORMATION *)&Length, 0x200ui64, (UINT64 *)ReturnLength) >= 0 )
  {
    if( Src )
    {
      PoolWithTag = ExAllocatePoolWithTag(0x200ui64, (unsigned __int16)Length + 2i64, 1920421956i64);
      v1 = (WCHAR *)PoolWithTag;
      if( PoolWithTag )
      {
        memmove(PoolWithTag, Src, (unsigned __int16)Length);
        v1[(unsigned __int64)(unsigned __int16)Length >> 1] = 0;
      }
    }
  }
  return v1;
}

Referenced by:

IoBuildPoDeviceNotifyList