SeQuerySecureBootPolicyValue

NTSTATUS __stdcall SeQuerySecureBootPolicyValue(
        const _UNICODE_STRING *ValuePath,
        const _UNICODE_STRING *ValueName,
        UINT64 ValueType,
        VOID *Data,
        UINT64 DataSize,
        UINT64 *ResultDataSize){
  int v7; 
  NTSTATUS PolicyValueByRef; 
  _DWORD *MatchingRegistryRule; 
  unsigned int v11; 
  size_t Size; 
  VOID *Src; 

  Src = 0i64;
  Size = 0;
  v7 = ValueType;
  if( !*(&stru_140CF2E80 + 911) )
    return -2143092730;
  MatchingRegistryRule = SepSecureBootFindMatchingRegistryRule(
                           (__int64)ValuePath,
                           (_UNICODE_STRING *)ValuePath,
                           (_UNICODE_STRING *)ValueName);
  if( !MatchingRegistryRule )
    return -1073741772;
  PolicyValueByRef = SepSecureBootGetPolicyValueByRef(
                       (unsigned __int16 *)(qword_140CF9DA0 + (unsigned int)MatchingRegistryRule[3]),
                       v7,
                       &Src,
                       (int *)&Size);
  if( PolicyValueByRef >= 0 )
  {
    v11 = Size;
    *(_DWORD *)ResultDataSize = Size;
    if( Data )
    {
      if( (unsigned int)DataSize >= v11 )
        memmove(Data, Src, v11);
      else
        return -1073741789;
    }
  }
  return PolicyValueByRef;
}

Referenced by:

No references.