PopFxDuplicateUniqueId
NTSTATUS __stdcall PopFxDuplicateUniqueId(const VOID **InputId, _UNICODE_STRING *UniqueId){
__int64 v2;
unsigned __int16 v5;
VOID **PoolWithTag;
NTSTATUS v7;
wchar_t *v8;
v2 = *(unsigned __int16 *)InputId;
if( *((unsigned __int16 *)InputId + 1) < (unsigned __int64)(v2 + 2) )
return -1073741811;
v5 = v2 + 2;
PoolWithTag = ExAllocatePoolWithTag(0x200ui64, v5, 1297630800i64);
v7 = 0;
v8 = (wchar_t *)PoolWithTag;
if( !PoolWithTag )
return -1073741670;
memmove(PoolWithTag, InputId[1], v5);
UniqueId->Length = *(_WORD *)InputId;
UniqueId->Buffer = v8;
UniqueId->MaximumLength = v5;
return v7;
}Referenced by:
PopFxCreateDeviceCommon