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


Функция 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).
  • Пин-код является исходным закреплением.
В противном случае возвращается STATUS_UNSUCCESSFUL.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Доступно в Microsoft Windows XP и более поздних операционных системах и версиях DirectX 8.0 и более поздних версий DirectX.
целевая платформа Всеобщий
заголовка ks.h (include Ks.h)
библиотеки Ks.lib
IRQL PASSIVE_LEVEL

См. также

IKsControl

IKsReferenceClock

KsFilterGetOuterUnknown

KsGetOuterUnknown

KsPinGetConnectedFilterInterface

KsPinGetReferenceClockInterface

KsRegisterAggregatedClientUnknown