IMFTransform::GetStreamIDs 메서드(mftransform.h)
이 MFT(Media Foundation 변환)의 입력 및 출력 스트림에 대한 스트림 식별자를 가져옵니다.
구문
HRESULT GetStreamIDs(
[in] DWORD dwInputIDArraySize,
[out] DWORD *pdwInputIDs,
[in] DWORD dwOutputIDArraySize,
[out] DWORD *pdwOutputIDs
);
매개 변수
[in] dwInputIDArraySize
pdwInputIDs 배열의 요소 수입니다.
[out] pdwInputIDs
호출자가 할당한 배열에 대한 포인터입니다. 메서드는 입력 스트림 식별자로 배열을 채웁니다. 배열 크기는 입력 스트림 수와 같아야 합니다. 입력 스트림 수를 얻으려면 IMFTransform::GetStreamCount를 호출합니다.
호출자가 입력 스트림 수보다 큰 배열을 전달하는 경우 MFT는 추가 배열 항목에 값을 쓰지 않아야 합니다.
[in] dwOutputIDArraySize
pdwOutputIDs 배열의 요소 수입니다.
[out] pdwOutputIDs
호출자가 할당한 배열에 대한 포인터입니다. 메서드는 출력 스트림 식별자로 배열을 채웁니다. 배열 크기는 출력 스트림 수와 같아야 합니다. 출력 스트림 수를 얻으려면 GetStreamCount를 호출합니다.
호출자가 출력 스트림 수보다 큰 배열을 전달하는 경우 MFT는 추가 배열 항목에 값을 쓰지 않아야 합니다.
반환 값
이 메서드는 HRESULT를 반환합니다. 가능한 값에는 다음 표에 있는 값이 포함되지만, 이에 국한되는 것은 아닙니다.
반환 코드 | Description |
---|---|
|
메서드가 성공했습니다. |
|
구현되지 않았습니다. 설명 부분을 참조하세요. |
|
배열 중 하나 또는 둘 다 너무 작습니다. |
설명
일부 MFT는 스트림을 추가하거나 제거할 수 있으므로 스트림 식별자가 필요하므로 스트림의 인덱스가 고유하지 않을 수 있습니다. 따라서 스트림에서 작동하는 IMFTransform 메서드는 스트림 식별자를 사용합니다.
이 메서드는 다음 두 조건이 모두 true인 경우 E_NOTIMPL 반환할 수 있습니다.
- 변환에는 고정된 개수의 스트림이 있습니다.
- 스트림은 0에서 n - 1까지 연속적으로 번호가 매겨집니다. 여기서 n은 입력 스트림 또는 출력 스트림의 수입니다. 즉, 첫 번째 입력 스트림은 0, 두 번째는 1 등입니다. 첫 번째 출력 스트림은 0이고 두 번째 출력 스트림은 1입니다.
- MFT는 출력 스트림을 추가하거나 제거할 수 있습니다.
- MFT를 사용하면 클라이언트가 입력 스트림을 추가하거나 제거할 수 있습니다.
- 스트림 식별자는 연속되지 않습니다.
클라이언트가 입력 스트림을 추가하는 경우 클라이언트는 식별자를 할당하므로 MFT는 고유한 경우 임의 식별자를 허용해야 합니다. MFT가 출력 스트림을 만드는 경우 MFT는 식별자를 할당합니다.
규칙에 따라 MFT에 정확히 하나의 고정 입력 스트림과 하나의 고정 출력 스트림이 있는 경우 두 스트림에 식별자 0을 할당해야 합니다.
mftransform.h를 포함하기 전에 MFT_UNIQUE_METHOD_NAMES 정의된 경우 이 메서드의 이름은 MFTGetStreamIDs로 바뀝니다. 하이브리드 DMO/MFT 개체 만들기를 참조하세요.
요구 사항
지원되는 최소 클라이언트 | Windows Vista [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | Windows Server 2008 [데스크톱 앱 | UWP 앱] |
대상 플랫폼 | Windows |
헤더 | mftransform.h |
라이브러리 | Mfuuid.lib |