PnpQueryDeviceText
INT64 __stdcall PnpQueryDeviceText(DEVICE_OBJECT *DeviceObject, DEVICE_TEXT_TYPE DeviceTextType, WCHAR **DeviceText){
_QWORD *v3;
_QWORD *v6;
NTSTATUS v7;
WCHAR *v8;
int v9;
int v11;
WCHAR *NormalizedText;
INT64 result;
DEVICE_TEXT_TYPE v14;
int v15;
PVOID P;
P = 0i64;
NormalizedText = 0i64;
*v3 = 0i64;
v6 = v3;
memset((INT64)&result, 0i64);
v15 = PsDefaultSystemLocaleId;
LOWORD(result) = 3099;
v14 = DeviceTextType;
v7 = IopSynchronousCall(DeviceObject, (IO_STACK_LOCATION *)&result, 3221225659i64, 0i64, (UINT64 *)&P);
v8 = (WCHAR *)P;
v9 = v7;
if( !P )
v9 = -1073741637;
if( v9 >= 0 )
{
*v6 = P;
PiNormalizeDeviceText(v8, &NormalizedText);
if( v11 >= 0 )
{
if( NormalizedText )
{
*v6 = NormalizedText;
ExFreePoolWithTag(v8, 0);
}
}
}
return(unsigned int)v9;
}Referenced by:
PiProcessNewDeviceNode