Share via


레지스트리 키의 레이아웃

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

DirectShow 필터는 다음 두 위치에 등록됩니다.

  • 필터가 포함된 DLL은 필터의 COM 서버로 등록됩니다. 애플리케이션이 CoCreateInstance 를 호출하여 필터를 만들 때 Microsoft Windows COM 라이브러리는 이 레지스트리 항목을 사용하여 DLL을 찾습니다.
  • 필터에 대한 추가 정보는 필터 범주 내에 등록할 수 있습니다. 이 정보를 사용하면 시스템 디바이스 열거자필터 매퍼 가 필터를 찾을 수 있습니다.

필터는 추가 필터 정보를 등록할 필요가 없습니다. DLL이 COM 서버로 등록되는 한 애플리케이션은 필터를 만들어 필터 그래프에 추가할 수 있습니다. 그러나 시스템 디바이스 열거자 또는 필터 매퍼에서 필터를 검색하려면 추가 정보를 등록해야 합니다.

DLL의 레지스트리 항목에는 다음 키가 있습니다.

HKEY_CLASSES_ROOT
    CLSID
        Filter CLSID 
            REG_SZ: (Default) = Friendly name

            InprocServer32
                REG_SZ: (Default) = File name of the DLL
                REG_SZ: ThreadingModel = Both

필터 정보에 대한 레지스트리 항목에는 다음 키가 있습니다.

HKEY_CLASSES_ROOT
    CLSID
        Category
            Instance
                Filter CLSID
                    REG_SZ: CLSID = Filter CLSID
                    REG_BINARY: FilterData = Filter information
                    REG_SZ: FriendlyName = Friendly name
Category

는 필터 범주의 GUID입니다. ( 필터 범주를 참조하세요.) 필터 정보는 이진 형식으로 압축됩니다. IFilterMapper2 인터페이스는 레지스트리에서 필터를 검색할 때 이 데이터의 압축을 풉니다.

모든 필터 범주 GUID는 다음 키 아래에 레지스트리에 나열됩니다.

HKEY_CLASSES_ROOT\CLSID\{DA4E3DA0-D07D-11d0-BD50-00A0C911CE86}\Instance