IopQueryEnvironmentVariableInfoTrEE

INT64 __stdcall IopQueryEnvironmentVariableInfoTrEE(
        FILE_OBJECT *FileObject,
        DEVICE_OBJECT *DeviceObject,
        UINT64 Attributes,
        UINT64 *MaximumVariableStorageSize,
        UINT64 *RemainingVariableStorageSize,
        UINT64 *MaximumVariableSize){
  NTSTATUS v7; 
  UINT64 InputBufferLength; 
  UINT64 OutputBufferLength; 
  UINT64 MinimumOutputSizeRequired; 
  UINT64 InputBuffer; 
  UINT64 EfiStatus[2]; 
  __int128 v14; 
  LODWORD(InputBuffer) = 0;
  HIDWORD(InputBuffer) = Attributes;
  LODWORD(MinimumOutputSizeRequired) = 32;
  LODWORD(OutputBufferLength) = 32;
  LODWORD(InputBufferLength) = 4;
  *(_OWORD *)EfiStatus = 0i64;
  v14 = 0i64;
  v7 = IopIssueTrEERequest(
         2ui64,
         FileObject,
         DeviceObject,
         (char *)&InputBuffer + 4,
         InputBufferLength,
         EfiStatus,
         OutputBufferLength,
         MinimumOutputSizeRequired,
         &InputBuffer);
  if( v7 >= 0 )
  {
    if( EfiStatus[0] )
    {
      return(unsigned int)IopEfiStatusToNTSTATUS(EfiStatus[0]);
    }
    else
    {
      *MaximumVariableStorageSize = EfiStatus[1];
      *(_OWORD *)RemainingVariableStorageSize = v14;
    }
  }
  return(unsigned int)v7;
}

Referenced by:

No references.