PiDmInit
NTSTATUS __stdcall PiDmInit(){
NTSTATUS result;
PI_DM_LIST_ID i;
PiDmObjectManagerInit((_PI_DM_OBJECT_MANAGER *)((char *)&PnpReplaceEvent + 2528), PNP_OBJECT_TYPE_DEVICE);
PiDmObjectManagerInit((_PI_DM_OBJECT_MANAGER *)((char *)&PnpReplaceEvent + 2752), PNP_OBJECT_TYPE_DEVICE_INTERFACE);
PiDmObjectManagerInit(
(_PI_DM_OBJECT_MANAGER *)((char *)&PnpReplaceEvent + 2080),
PNP_OBJECT_TYPE_DEVICE_INTERFACE_CLASS);
PiDmObjectManagerInit((_PI_DM_OBJECT_MANAGER *)((char *)&PnpReplaceEvent + 2304), PNP_OBJECT_TYPE_DEVICE_CONTAINER);
PiDmObjectManagerInit(
(_PI_DM_OBJECT_MANAGER *)((char *)&PnpReplaceEvent + 2976),
PNP_OBJECT_TYPE_DEVICE_INSTALLER_CLASS);
PiDmObjectManagerInit((_PI_DM_OBJECT_MANAGER *)((char *)&PnpReplaceEvent + 3200), PNP_OBJECT_TYPE_CUSTOM_1);
result = PiDmObjectManagerPopulate((PI_DM_OBJECT_MANAGER *)&PnpReplaceEvent + 632);
if( result >= 0 )
{
result = PiDmObjectManagerPopulate((PI_DM_OBJECT_MANAGER *)&PnpReplaceEvent + 688);
if( result >= 0 )
{
result = PiDmObjectManagerPopulate((PI_DM_OBJECT_MANAGER *)&PnpReplaceEvent + 520);
if( result >= 0 )
{
result = PiDmObjectManagerPopulate((PI_DM_OBJECT_MANAGER *)&PnpReplaceEvent + 576);
if( result >= 0 )
{
result = PiDmObjectManagerPopulate((PI_DM_OBJECT_MANAGER *)&PnpReplaceEvent + 744);
if( result >= 0 )
{
result = PiDmObjectManagerPopulate((PI_DM_OBJECT_MANAGER *)&PnpReplaceEvent + 800);
if( result >= 0 )
{
for( i = PiDmListInterfacesInInterfaceClass;
(unsigned int)i < (PiDmListDevicesInInstallerClass|PiDmListDevicesInContainer);
++i )
{
result = PiDmListInit(i);
if( result < 0 )
break;
}
}
}
}
}
}
}
return result;
}Referenced by:
IopInitializePlugPlayServices