Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В Windows Vista и более поздних версиях Windows модель унифицированных свойств устройств включает свойства отношений устройств. Модель унифицированных свойств устройства использует ключи свойств для представления этих свойств. Ниже приведен список отношений, представленных в модели свойств единого устройства:
- DEVPKEY_Device_BusRelations
- DEVPKEY_Device_EjectionRelations
- DEVPKEY_Device_PowerRelations
- DEVPKEY_Device_RemovalRelations
- DEVPKEY_Device_Parent
- DEVPKEY_Device_Children
- DEVPKEY_Device_Siblings
Windows Server 2003, Windows XP и Windows 2000 не поддерживают ключи свойств модели унифицированных свойств. Однако вы можете получить соответствующие сведения, вызвав функции диспетчера конфигурации Plug and Play (PnP). Для обеспечения совместимости с более ранними версиями Windows, Windows Vista и более поздних версий также поддерживают вызов функций диспетчера конфигурации PnP для получения свойств отношений устройств. Однако для доступа к свойствам отношения устройства следует использовать ключи модели унифицированных свойств устройства. Для получения информации об использовании ключей свойств для доступа к свойствам драйвера устройства, смотрите раздел "Доступ к свойствам экземпляра устройства" (Windows Vista и более поздние версии).
Сведения о доступе к свойствам отношений устройств в Windows Server 2003, Windows XP и Windows 2000 см. в следующих разделах:
Получение отношений выброса, отношений удаления, отношений энергии и отношений шины
Получение родительского элемента экземпляра устройства
Получение дочерних элементов экземпляра устройства
Получение аналогичных экземпляров устройства
Получение отношений выброса, отношений удаления, отношений мощности и отношений шины
Чтобы получить сведения о отношениях устройств в Windows Server 2003, Windows XP и Windows 2000, вызовите CM_Get_Device_ID_List и укажите следующие значения параметров:
Установите для pszFilter указатель на строку, завершающуюся нулевым символом, которая указывает идентификатор экземпляра устройства, для которого требуется получить информацию о связях.
Установите Buffer как указатель на буфер, который принимает список идентификаторов экземпляра устройства, который завершается значением NULL. Список завершается дополнительным символом NULL. Требуемый размер буфера можно получить, вызвав функцию CM_Get_Device_ID_List_Size .
Установите BufferLen на размер буфера Buffer в символах.
Установите ulFlags на один из следующих флагов, чтобы получить соответствующие сведения о связях:
CM_GETIDLIST_FILTER_EJECTIONRELATIONS
Флаг CM_GETIDLIST_FILTER_EJECTIONRELATIONS извлекает связи извлечения, то есть те же сведения, которые предоставляются свойством устройства DEVPKEY_Device_EjectionRelations в Windows Vista и более поздних версиях.
CM_GETIDLIST_FILTER_REMOVALRELATIONS
Флаг CM_GETIDLIST_FILTER_REMOVALRELATIONS извлекает отношения удаления, что соответствует информации, предоставляемой свойством устройства DEVPKEY_Device_RemovalRelations в Windows Vista и более поздних версиях.
CM_GETIDLIST_FILTER_POWERRELATIONS
Флаг CM_GETIDLIST_FILTER_POWERRELATIONS получает связи питания, то есть те же сведения, которые предоставляются свойством устройства DEVPKEY_Device_PowerRelations в Windows Vista и более поздних версиях.
CM_GETIDLIST_FILTER_BUSRELATIONS
Флаг CM_GETIDLIST_FILTER_BUSRELATIONS извлекает связи шины, которые предоставляются свойством устройства DEVPKEY_Device_BusRelations в Windows Vista и более поздних версиях.
Если вызов CM_Get_Device_ID_List выполнен успешно, CM_Get_Device_ID_List извлекает запрошенные сведения о отношениях и возвращает CR_SUCCESS. В противном случае CM_Get_Device_ID_List возвращает один из кодов ошибок с префиксом "CR_", определенным в Cfgmgr32.h.
Получение родительского элемента экземпляра устройства
Чтобы получить идентификатор экземпляра устройства родительского устройства в Windows Server 2003, Windows XP и Windows 2000, выполните следующие действия:
Вызовите функцию CM_Get_Parent, чтобы получить дескриптор экземпляра устройства для родительского устройства экземпляра устройства.
Вызовите CM_Get_Device_ID, чтобы получить идентификатор экземпляра устройства, который связан с дескриптором экземпляра устройства для родительского устройства, полученного предыдущим вызовом CM_Get_Parent.
Эти сведения, полученные с помощью этой процедуры, совпадают с тем, что представлено свойством DEVPKEY_Device_Parent в унифицированной модели свойств устройств Windows Vista и более поздних версиях.
Получение дочерних элементов экземпляра устройства
Чтобы получить идентификаторы экземпляров дочерних устройств для конкретного экземпляра устройства в Windows Server 2003, Windows XP и Windows 2000, выполните следующие действия:
Вызовите функцию CM_Get_Child , чтобы получить дескриптор экземпляра устройства первому дочернему устройству, связанному с экземпляром устройства.
Вызывайте CM_Get_Sibling столько раз, сколько необходимо, чтобы перечислить все сопутствующие устройства для первого дочернего устройства, полученного вызовом CM_Get_Child.
Вызов CM_Get_Device_ID для получения идентификаторов экземпляра устройства, связанных с дескрипторами экземпляра устройства, возвращаемыми вызовами CM_Get_Child иCM_Get_Sibling.
Эти сведения, полученные с помощью этой процедуры, совпадают с тем, что представлено свойством DEVPKEY_Device_Children в унифицированной модели свойств устройств Windows Vista и более поздних версиях.
Получение братьев и сестер экземпляра устройства
Чтобы получить идентификаторы экземпляров устройств одноправных устройств устройства Abc в Windows Server 2003, Windows XP и Windows 2000, выполните следующие действия:
Вызовите функцию CM_Get_Parent, чтобы получить дескриптор экземпляра устройства для родительского устройства экземпляра Abc.
Вызовите функцию CM_Get_Child, чтобы получить дескриптор экземпляра устройства для первого дочернего устройства родительского устройства экземплара устройства Abc.
Вызовите CM_Get_Sibling столько раз, сколько необходимо для перечисления всех устройств-сиблингов первого дочернего устройства родителя. Это перечисление также возвращает дескриптор экземпляру устройства Abc.
Вызов CM_Get_Device_ID для получения идентификаторов экземпляра устройства, связанных с дескрипторами экземпляра устройства, возвращаемыми предыдущими вызовами CM_Get_Sibling. Удалите дескриптор экземпляра устройства Abc из списка одноуровневых устройств первого дочернего устройства родительского устройства.
Сведения, полученные с помощью этой процедуры, совпадают с тем, что представлено свойством DEVPKEY_Device_Siblings в унифицированной модели свойств устройств Windows Vista и более поздних версиях. Если вызов функции CM_Xxx, указанный в этом разделе, выполнен успешно, функция CM_Xxx извлекает запрошенные сведения и возвращает CR_SUCCESS. В противном случае функция CM_Xxx возвращает один из кодов ошибок с префиксом "CR_", определенным в Cfgmgr32.h.