MFTRegister 함수(mfapi.h)
MFT(Media Foundation 변환)에 대한 정보를 레지스트리에 추가합니다.
애플리케이션은 MFTEnum 또는 MFTEnumEx 함수를 호출하여 MFT 를 열거할 수 있습니다.
구문
HRESULT MFTRegister(
[in] CLSID clsidMFT,
[in] GUID guidCategory,
[in] LPWSTR pszName,
[in] UINT32 Flags,
[in] UINT32 cInputTypes,
[in] MFT_REGISTER_TYPE_INFO *pInputTypes,
[in] UINT32 cOutputTypes,
[in] MFT_REGISTER_TYPE_INFO *pOutputTypes,
[in] IMFAttributes *pAttributes
);
매개 변수
[in] clsidMFT
MFT의 CLSID입니다. 또한 동일한 CLSID를 사용하여 MFT를 COM 개체로 등록해야 합니다.
[in] guidCategory
MFT의 범주를 지정하는 GUID입니다. MFT 범주 목록은 MFT_CATEGORY 참조하세요.
[in] pszName
MFT의 이름을 포함하는 와이드 문자열입니다.
[in] Flags
_MFT_ENUM_FLAG 열거형에서 다음 플래그 중 0개 이상의 비트 OR입니다.
값 | 의미 |
---|---|
|
MFT는 소프트웨어에서 비동기 처리를 수행합니다. 비동기 MFT를 참조하세요. 이 플래그는 하드웨어 변환에는 적용되지 않습니다.
Windows 7이 필요합니다. |
|
애플리케이션을 사용하려면 MFT의 잠금을 해제해야 합니다. IMFFieldOfUseMFTUnlock을 참조하세요.
Windows 7이 필요합니다. |
|
MFT는 AVStream 드라이버 또는 GPU 기반 프록시 MFT를 사용하여 하드웨어 기반 데이터 처리를 수행합니다. 이 범주의 MFT는 항상 데이터를 비동기적으로 처리합니다. 하드웨어 MFT를 참조하세요.
참고 이 플래그는 하드웨어에서 전적으로 작업을 수행하는 비디오 코덱 및 비디오 프로세서에 적용됩니다. 디코딩을 지원하기 위해 DirectX 비디오 가속을 사용하는 소프트웨어 디코더에는 적용되지 않습니다.
|
|
MFT는 소프트웨어에서 동기 처리를 수행합니다. 이 플래그는 하드웨어 변환에는 적용되지 않습니다. |
|
MFT는 코드 변환에 최적화되어 있으며 재생에 사용하면 안 됩니다.
Windows 7이 필요합니다. |
플래그를 0으로 설정하는 것은 MFT_ENUM_FLAG_SYNCMFT 플래그를 설정하는 것과 같습니다. MFT의 기본 처리 모델은 동기 처리입니다.
Windows 7 이전에는 Flags 매개 변수가 예약되었습니다.
[in] cInputTypes
pInputTypes 배열의 요소 수입니다.
[in] pInputTypes
MFT_REGISTER_TYPE_INFO 구조체의 배열에 대한 포인터입니다. 배열의 각 멤버는 MFT에서 지원하는 입력 형식을 지정합니다. 이 매개 변수는 NULL일 수 있습니다.
이 매개 변수는 NULL일 수 있습니다. 그러나 매개 변수가 NULL인 경우 애플리케이션이 원하는 입력 형식에 대해 NULL 을 지정하는 경우에만 MFT가 열거됩니다.
[in] cOutputTypes
pOutputTypes 배열의 요소 수입니다.
[in] pOutputTypes
MFT_REGISTER_TYPE_INFO 구조체의 배열에 대한 포인터입니다. 배열의 각 멤버는 MFT에서 지원하는 출력 형식을 정의합니다.
이 매개 변수는 NULL일 수 있습니다. 그러나 매개 변수가 NULL인 경우 애플리케이션이 원하는 출력 형식에 대해 NULL 을 지정하는 경우에만 MFT가 열거됩니다.
[in] pAttributes
추가 레지스트리 정보를 포함하는 특성 저장소의 IMFAttributes 인터페이스에 대한 포인터입니다. 이 매개 변수는 NULL일 수 있습니다. 매개 변수가 NULL이 아닌 경우 특성은 레지스트리에 바이트 배열로 기록됩니다. MFTGetInfo 함수를 사용하여 특성을 검색할 수 있습니다.
이 매개 변수에 대해 다음 특성이 정의됩니다.
값 | 의미 |
---|---|
하드웨어 코덱의 장점 값을 포함합니다. 코덱 장점을 참조하세요. |
반환 값
이 함수가 성공하면 S_OK 반환합니다. 그러지 않으면 HRESULT 오류 코드를 반환합니다.
설명
이 함수에서 만든 레지스트리 항목은 다음 함수에서 읽습니다.
기능 | Description |
---|---|
MFTEnum | 미디어 유형 및 범주별로 MFT를 열거합니다. |
MFTEnumEx | MFTEnum의 확장 버전입니다. |
MFTGetInfo | CLSID로 MFT를 조회하고 레지스트리 정보를 검색합니다. |
이 함수는 CoCreateInstance 또는 CoGetClassObject 함수에 대한 MFT의 CLSID를 등록하지 않습니다.
레지스트리에서 항목을 제거하려면 MFTUnregister를 호출합니다. 시스템에서 MFT를 제거하는 경우 항상 MFTUnregister를 호출해야 합니다.
pInputTypes 및 pOutputTypes 매개 변수에 지정된 형식은 애플리케이션이 형식별로 MFT를 검색할 수 있도록 하기 위한 것입니다. 애플리케이션은 MFTEnum 또는 MFTEnumEx 함수를 사용하여 특정 형식 집합과 일치하는 MFT를 열거할 수 있습니다.
pInputTypes에서 하나 이상의 입력 형식과 pOutputTypes 매개 변수에 하나의 출력 형식을 지정하는 것이 좋습니다. 그렇지 않으면 열거형에서 MFT를 건너뛸 수 있습니다.
64비트 Windows에서 이 함수의 32비트 버전은 레지스트리의 32비트 노드에 MFT를 등록합니다. 자세한 내용은 레지스트리의 32비트 및 64비트 애플리케이션 데이터를 참조하세요.
요구 사항
지원되는 최소 클라이언트 | Windows Vista [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2008 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | mfapi.h |
라이브러리 | Mfplat.lib |
DLL | Mfplat.dll |