Функция KsPinGetConnectedPinInterface (ks.h)
Функция KsPinGetConnectedPinInterface запрашивает закрепление, к которому подключены пин-код пин-кода для интерфейса стиля COM.
Синтаксис
KSDDKAPI NTSTATUS KsPinGetConnectedPinInterface(
[in] PKSPIN Pin,
[in] const GUID *InterfaceId,
[out] PVOID *Interface
);
Параметры
[in] Pin
Указатель на структуру KSPIN. AVStream запрашивает пин-код, подключенный к закреплению для запрошенного интерфейса.
[in] InterfaceId
Указатель на GUID, указывающий тип интерфейса, который требуется получить. Вызов QueryInterface выполняется автоматически для этого интерфейса.
[out] Interface
Указатель на указатель, который AVStream задает расположение COM-интерфейса.
Возвращаемое значение
KsPinGetConnectedPinInterface возвращает STATUS_SUCCESS или STATUS_NOINTERFACE. Дополнительные сведения см. ниже.
Замечания
Интерфейс имеет соответствующее число ссылок, и должны освобождаться вызывающим оператором, как в COM.
Эта подпрограмма возвращает STATUS_SUCCESS, если интерфейс существует на подключенном пин-коде или в thunk AVStream. Если возвращается STATUS_SUCCESS, AVStream помещает указатель интерфейса в *Interface. В противном случае подпрограмма возвращает STATUS_NOINTERFACE. Это соответствует E_NOINTERFACE COM HRESULT.
По умолчанию объекты поддерживают интерфейс IUnknown и интерфейс IKsControl. Если подключенный пин-код является пином AVStream, запрос и возвращаемый указатель интерфейса являются прямыми вызовами другого драйвера. Если, с другой стороны, подключенный пин-код не принадлежит драйверу AVStream, создается thunk, предоставляющий поддержку IKsControl с помощью синхронных вызовов драйвера, содержащего подключенный пин-код, с помощью IoCallDriver.
Наиболее распространенное использование KsPinGetConnectedPinInterface заключается в получении интерфейса управления для подключенного пин-кода. Этот интерфейс управления можно использовать для вызовов свойств, методов или событий до подключенного пин-кода или может запрашивать интерфейсы, которые были агрегированы на подключенный пин-код. Если подключенный пин-код является пин-кодом AVStream; AVStream предоставляет только thunking для IKsControl и IUnknown для контактов, отличных от AVStream.
Thunk создается только в том случае, если пин-код является исходным пин-кодом; Таким образом, вызовы работают только в том случае, если одно или несколько из следующих значений имеет значение true:
- Подключение является внутри AVStream (Закреплениеподключенного пина является пин-кодом AVStream).
- Пин-код является исходным закреплением.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Доступно в Microsoft Windows XP и более поздних операционных системах и версиях DirectX 8.0 и более поздних версий DirectX. |
целевая платформа | Всеобщий |
заголовка | ks.h (include Ks.h) |
библиотеки | Ks.lib |
IRQL | PASSIVE_LEVEL |
См. также
KsPinGetConnectedFilterInterface