Поделиться через


Метод IDeviceTopology::GetSignalPath (devicetopology.h)

Метод GetSignalPath получает список частей в пути сигнала, который связывает две части, если путь существует.

Синтаксис

HRESULT GetSignalPath(
  [in]  IPart      *pIPartFrom,
  [in]  IPart      *pIPartTo,
  [in]  BOOL       bRejectMixedPaths,
  [out] IPartsList **ppParts
);

Параметры

[in] pIPartFrom

Указатель на часть from. Этот параметр является указателем на интерфейс IPart части в начале пути сигнала.

[in] pIPartTo

Указатель на часть "на". Этот параметр является указателем на интерфейс IPart части в конце пути сигнала.

[in] bRejectMixedPaths

Указывает, следует ли отклонять пути, содержащие смешанные данные. Если параметр bRejectMixedPaths имеет значение TRUE (ненулевое), метод игнорирует любой путь к данным, содержащий микшер (то есть узел обработки, который суммирует два или более входных сигнала). Если значение FALSE, метод попытается найти путь, соединяющий части "from" и "to", независимо от того, содержит ли путь микшер.

[out] ppParts

Указатель на переменную указателя, в которую метод записывает адрес экземпляра интерфейса IPartsList . Этот интерфейс инкапсулирует список частей в пути сигнала, который соединяет часть "от" с частью "к". С помощью этого метода вызывающий объект получает подсчитываемую ссылку на интерфейс. Вызывающий объект отвечает за освобождение интерфейса, когда он больше не нужен, путем вызова метода Release интерфейса. Если вызов GetSignalPath завершается сбоем, *ppParts имеет значение NULL.

Возвращаемое значение

Если метод завершается успешно, возвращает значение S_OK. В случае сбоя возможные коды возврата включают, но не ограничиваются ими, значения, показанные в следующей таблице.

Код возврата Описание
E_POINTER
Параметр pIPartFrom, pIPartTo или ppParts имеет значение NULL.
E_NOTFOUND
Путь, связывающий две части, не найден.
E_NOINTERFACE
Параметр pIPartFrom или pIPartTo не указывает на допустимый интерфейс IPart .
E_OUTOFMEMORY
Недостаточно памяти.

Комментарии

Этот метод создает экземпляр интерфейса IPartsList , содержащий список частей, лежащих вдоль указанного пути сигнала. Части в списке деталей упорядочены в соответствии с их относительными положениями в пути сигнала. Часть "to" является первым элементом в списке, а часть "from" — последним элементом в списке.

Если список содержит n частей, части "to" и "from" определяются индексами списка 0 и n–1 соответственно. Чтобы получить количество частей в списке частей, вызовите метод IPartsList::GetCount . Чтобы получить часть по индексу, вызовите метод IPartsList::GetPart .

Все части в пути сигнала должны быть частью одной топологии устройства. Путь не может охватывать границы между топологиями устройств.

Требования

   
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Целевая платформа Windows
Header devicetopology.h

См. также раздел

Интерфейс IDeviceTopology

Интерфейс IPart

Интерфейс IPartsList

IPartsList::GetCount

IPartsList::GetPart