PiDqConvertObjectTypeToString
NTSTATUS __stdcall PiDqConvertObjectTypeToString(_DEV_OBJECT_TYPE ObjectType, WCHAR **ObjectTypeString){
NTSTATUS v2;
__int32 v3;
__int32 v4;
__int32 v5;
__int32 v6;
WCHAR *v7;
__int32 v8;
__int32 v9;
__int32 v10;
__int32 v11;
v2 = 0;
*ObjectTypeString = 0i64;
if( ObjectType > DevObjectTypeAEPContainer )
{
v8 = ObjectType - 7;
if( !v8 )
{
v7 = L"DeviceInstallerClass";
goto LABEL_27;
}
v9 = v8 - 1;
if( !v9 )
{
v7 = L"DeviceInterfaceDisplay";
goto LABEL_27;
}
v10 = v9 - 1;
if( !v10 )
{
v7 = L"DeviceContainerDisplay";
goto LABEL_27;
}
v11 = v10 - 1;
if( !v11 )
{
v7 = L"AEPService";
goto LABEL_27;
}
if( v11 == 1 )
{
v7 = L"DevicePanel";
goto LABEL_27;
}
}
else
{
if( ObjectType == DevObjectTypeAEPContainer )
{
v7 = L"AEPContainer";
goto LABEL_27;
}
if( ObjectType == DevObjectTypeUnknown )
{
v7 = (WCHAR *)L"Unknown";
goto LABEL_27;
}
v3 = ObjectType - 1;
if( !v3 )
{
v7 = L"DeviceInterface";
goto LABEL_27;
}
v4 = v3 - 1;
if( !v4 )
{
v7 = L"DeviceContainer";
goto LABEL_27;
}
v5 = v4 - 1;
if( !v5 )
{
v7 = (WCHAR *)L"Device";
goto LABEL_27;
}
v6 = v5 - 1;
if( !v6 )
{
v7 = L"DeviceInterfaceClass";
goto LABEL_27;
}
if( v6 == 1 )
{
v7 = L"AEP";
LABEL_27:
*ObjectTypeString = v7;
return v2;
}
}
return -1073741811;
}Referenced by:
PiDqIrpQueryCreate