PiDevCfgGetDriverPackageId
NTSTATUS __stdcall PiDevCfgGetDriverPackageId(PWCHAR DriverInfName, UNICODE_STRING *DriverPackageId){
INT64 v4;
NTSTATUS ObjectProperties;
UINT64 v7;
INT64 v8;
int v9;
int v10;
UNICODE_STRING *v11;
int v12;
int v13;
__int64 v14;
HANDLE Handle;
Handle = 0i64;
ObjectProperties = PnpOpenObjectRegKey(PiPnpRtlCtx, (__int64)DriverInfName, 9u, 131097, 0, (__int64)&Handle);
if( ObjectProperties >= 0 )
{
v10 = 0;
v12 = 0;
v14 = 0i64;
v8 = (INT64)DEVPKEY_DriverInfFile_ActiveDriverPackage;
LODWORD(v7) = 1;
v9 = 18;
v11 = DriverPackageId;
v13 = 6;
ObjectProperties = PiDevCfgQueryObjectProperties(v4, (INT64)DriverInfName, 9ui64, (INT64)Handle, (INT64)&v8, v7);
if( ObjectProperties >= 0 && (int)v14 < 0 )
ObjectProperties = v14;
}
if( Handle )
ZwClose(Handle);
return ObjectProperties;
}Referenced by:
PiDevCfgCheckDeviceNeedsUpdate
PiDevCfgFindDeviceMigrationNode
PiDevCfgQueryDriverNode
PiDevCfgQueryIncludedDriverNode