SmKmFileInfoGetPath
NTSTATUS __stdcall SmKmFileInfoGetPath(_SMKM_FILE_INFO *FileInfo, WCHAR *Buffer, UINT64 BufferSize){
__int64 v4;
char v6;
char v7;
INT16 v8;
int NameStringMode;
size_t v10;
__int64 ReturnLength[2];
VOID *v13[66];
LODWORD(ReturnLength[0]) = 0;
v4 = (unsigned int)BufferSize;
memset(v13, 0i64, sizeof(v13));
IoSetThreadHardErrorMode(0);
v7 = v6;
NameStringMode = ObQueryNameStringMode(
*((VOID **)FileInfo + 1),
(_OBJECT_NAME_INFORMATION *)v13,
0x210ui64,
(UINT64 *)ReturnLength,
0);
if( NameStringMode >= 0 )
{
memset(Buffer, 0i64, v4);
v10 = LOWORD(v13[0]);
if( LOWORD(v13[0]) >= (unsigned __int64)(v4 - 2) )
v10 = v4 - 2;
memmove(Buffer, v13[1], v10);
NameStringMode = 0;
}
LOBYTE(v8) = v7;
IoSetThreadHardErrorMode(v8);
return NameStringMode;
}Referenced by:
SmProcessListRequestExtended
SmcGetCacheStats