IoQueryFileDosDeviceName
NTSTATUS __stdcall IoQueryFileDosDeviceName(_FILE_OBJECT *FileObject, _OBJECT_NAME_INFORMATION **ObjectNameInformation){
UINT64 v2;
UINT8 v5;
_OBJECT_NAME_INFORMATION *PoolWithTag;
OBJECT_NAME_INFORMATION *v7;
NTSTATUS NameInternal;
UINT64 *ReturnLength;
unsigned int i;
v2 = 208i64;
for( i = 208; ; v2 = i )
{
PoolWithTag = (_OBJECT_NAME_INFORMATION *)ExAllocatePoolWithTag(PagedPool, v2, 0x6E446F49ui64);
if( !PoolWithTag )
break;
LOBYTE(v7) = 1;
LODWORD(ReturnLength) = v2;
NameInternal = IopQueryNameInternal(FileObject, v5, v7, (UINT64)PoolWithTag, ReturnLength, (INT8)&i);
if( !NameInternal )
{
*ObjectNameInformation = PoolWithTag;
return NameInternal;
}
ExFreePoolWithTag(PoolWithTag, 0);
if( NameInternal != -2147483643 )
return NameInternal;
}
return -1073741670;
}Referenced by:
CcMmLogLostDelayedWriteError
NtQueryInformationProcess
PiDrvDbQuerySystemPathWin32