다음을 통해 공유


IPin::QueryInternalConnections 메서드(strmif.h)

[이 페이지와 연결된 기능인 DirectShow는 레거시 기능입니다. MediaPlayer, IMFMediaEngine 및 Media Foundation의 오디오/비디오 캡처로 대체되었습니다. 이러한 기능은 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드가 DirectShow 대신 Media Foundation에서 MediaPlayer, IMFMediaEngine오디오/비디오 캡처를 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]

QueryInternalConnections 메서드는 필터 내에서 이 핀에 내부적으로 연결된 핀을 검색합니다.

구문

HRESULT QueryInternalConnections(
  [out]     IPin  **apPin,
  [in, out] ULONG *nPin
);

매개 변수

[out] apPin

IPin 포인터 배열의 주소입니다. 호출자가 배열을 할당합니다. 메서드는 배열을 IPin 포인터로 채웁니다. nPin이 0이면 이 매개 변수는 NULL일 수 있습니다.

[in, out] nPin

입력에서 배열의 크기를 지정합니다. 출력에서 은 내부적으로 연결된 핀 수를 지정합니다.

반환 값

HRESULT 값을 반환합니다. 가능한 값은 다음과 같습니다.

반환 코드 설명
S_FALSE
배열 크기가 부족합니다.
S_OK
성공.
E_NOTIMPL
구현되지 않았습니다.

설명

이 메서드는 출력 핀에 대한 입력 핀의 필터 내부 매핑에 대한 정보를 반환합니다. 즉, 입력 핀이 출력 핀에 데이터를 전달하는 방법을 설명합니다.

대부분의 필터에서 모든 입력 핀은 모든 출력 핀에 연결됩니다. 예를 들어 변환 필터에서 하나의 입력이 하나의 출력에 연결됩니다. 분할기 필터에서 하나의 입력이 여러 출력에 연결됩니다. 이러한 경우 메서드는 단순히 E_NOTIMPL 반환해야 합니다.

그렇지 않으면 메서드는 쿼리한 핀에 내부적으로 매핑되는 각 핀에 대해 하나씩 IPin 포인터 배열을 반환합니다. 입력 핀에서 메서드를 호출하는 경우 배열에는 출력 핀에 대한 포인터가 포함되고 그 반대의 경우도 마찬가지입니다.

호출자는 IPin 포인터의 배열을 할당합니다. 필요한 배열 크기를 얻으려면 apPinNULL과 같은 메서드를 한 번 호출합니다. 크기는 nPin 매개 변수에 반환됩니다. 그런 다음 배열을 할당하고 메서드를 다시 호출하여 apPin 을 배열의 주소와 같고 nPin 을 배열 크기와 동일하게 설정합니다. 그런 다음 메서드는 배열을 IPin 포인터로 채웁니다. 반환된 각 포인터에는 미해결 참조 수가 있으며 호출자가 해제해야 합니다.

이 메서드에는 이제 사용되지 않는 또 다른 사용이 있습니다. 필터 그래프 관리자는 하나 이상의 입력 핀이 이 메서드를 구현하지만 nPin에서 0을 반환하는 경우 필터를 렌더러 필터로 처리합니다. 그러나 새 렌더러 필터를 작성하는 경우 필터가 렌더러임을 나타내기 위해 이 메서드를 사용하는 대신 IAMFilterMiscFlags 인터페이스를 구현해야 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 strmif.h(Dshow.h 포함)
라이브러리 Strmiids.lib

추가 정보

오류 및 성공 코드

IPin 인터페이스