AlpcpQuerySidMessage

INT64 __fastcall AlpcpQuerySidMessage(
        _ALPC_PORT *PortObject,
        _KALPC_MESSAGE *Message,
        VOID *Sid,
        UINT64 Length,
        INT64 ReturnLength){
  unsigned int v8; 
  INT64 result; 
  unsigned int SidToken; 
  char FreeDynamicSecurity[8]; 
  VOID *AccessToken; 
  _SECURITY_CLIENT_CONTEXT DynamicSecurity; 
  v8 = Length;
  memset((INT64)&DynamicSecurity, 0i64);
  AccessToken = 0i64;
  FreeDynamicSecurity[0] = 0;
  result = AlpcpGetEffectiveTokenMessage(
             PortObject,
             Message,
             &AccessToken,
             &DynamicSecurity,
             (UINT8 *)FreeDynamicSecurity);
  if( (int)result >= 0 )
  {
    SidToken = AlpcpQuerySidToken(AccessToken, Sid, v8, (UINT64 *)ReturnLength);
    if( FreeDynamicSecurity[0] )
      HalPutDmaAdapter((PADAPTER_OBJECT)DynamicSecurity.ClientToken);
    return SidToken;
  }
  return result;
}

Referenced by:

NtAlpcQueryInformationMessage