PiCreateDeviceInstanceKey
__int64 __fastcall PiCreateDeviceInstanceKey(__int64 a1, HANDLE *a2, _DWORD *a3){
_ETHREAD *CurrentThread;
HANDLE *v5;
int v7;
char v9;
*a2 = 0i64;
CurrentThread = (_ETHREAD *)KeGetCurrentThread();
v5 = a2;
*a3 = 0;
v9 = 0;
--*((_WORD *)CurrentThread + 242);
LOBYTE(a2) = 1;
ExAcquireResourceSharedLite(&PnpRegistryDeviceResource, (BOOL)a2);
v7 = CmCreateDevice(PiPnpRtlCtx, *(const wchar_t **)(a1 + 48), 983103, v5, &v9, 0);
if( v7 >= 0 )
*a3 = 2 - (v9 != 0);
ExReleaseResourceLite(&PnpRegistryDeviceResource);
KeLeaveCriticalRegionThread((__int64)KeGetCurrentThread());
return(unsigned int)v7;
}Referenced by:
PiProcessNewDeviceNode