MiFormFullImageName
UINT64 __stdcall MiFormFullImageName(
UNICODE_STRING *ImageFileDirectory,
UNICODE_STRING *ImageFileName,
UNICODE_STRING *FullImageName){
wchar_t *v6;
int appended;
wchar_t *Buffer;
FullImageName->MaximumLength = ImageFileName->Length + 2 + ImageFileDirectory->Length;
LODWORD(v6) = MiAllocatePool((struct _SLIST_ENTRY *)0x100);
FullImageName->Buffer = v6;
if( v6 )
{
FullImageName->Length = ImageFileDirectory->Length;
memmove((UINT8 *)v6, (UINT8 *)ImageFileDirectory->Buffer, ImageFileDirectory->Length);
appended = RtlAppendStringToString((_STRING *)FullImageName, (const _STRING *)ImageFileName);
Buffer = FullImageName->Buffer;
if( appended >= 0 )
{
Buffer[(unsigned __int64)FullImageName->Length >> 1] = 0;
return 1i64;
}
ExFreePoolWithTag(Buffer, 0);
}
return 0i64;
}Referenced by:
MiResolveImageReferences