NtQueryEnvironmentVariableInfoEx
NTSTATUS __stdcall NtQueryEnvironmentVariableInfoEx(
UINT64 Attributes,
_DEVICE_OBJECT **MaxStorageSize,
UINT64 *RemainingStorageSize,
UINT64 *MaximumVariableSize){
unsigned int v7;
_ETHREAD *CurrentThread;
NTSTATUS EnvironmentVariableInfo;
v7 = Attributes;
if( *(&ExBootDevicesRemovedEvent + 276) != 2 )
return -1073741822;
if( KeGetCurrentThread()->PreviousMode )
return -1073741727;
CurrentThread = (_ETHREAD *)KeGetCurrentThread();
--CurrentThread->Tcb.KernelApcDisable;
ExAcquireFastMutexUnsafe((PFAST_MUTEX)((char *)&WheapDeferredInternalLogsEventLock + 2752));
EnvironmentVariableInfo = IoQueryEnvironmentVariableInfoEx(
v7,
(UINT64 *)MaxStorageSize,
RemainingStorageSize,
MaximumVariableSize);
ExReleaseFastMutexUnsafe((PFAST_MUTEX)((char *)&WheapDeferredInternalLogsEventLock + 2752));
KeLeaveCriticalRegionThread(KeGetCurrentThread());
return EnvironmentVariableInfo;
}Referenced by:
PopEnableSystemSleepCheckpoint