다음을 통해 공유


사용자 지정 상호 제외 형식 사용

[이 페이지와 연결된 기능인 Windows Media Format 11 SDK는 레거시 기능입니다. 원본 판독기 및 싱크 작성기에 의해 대체되었습니다. 원본 판독기 및 싱크 작성기는 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드에서 Windows Media Format 11 SDK 대신 소스 판독기 및 싱크 작성기를 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]

프로필에서 상호 제외 개체를 사용하여 사용자 지정 시나리오의 요구 사항을 충족할 수 있습니다. CLSID_WMMUTEX_UNKNOWN GUID 값을 IWMMutualExclusion::SetType에 전달하면 사용자 지정 시나리오를 사용하고 있음을 상호 제외 개체에 알릴 수 있습니다.

사용자 지정 상호 제외 값이 있는 파일을 읽을 때 스트림 선택을 수동으로 제어해야 합니다. reader 개체는 상호 제외에 추가한 첫 번째 스트림을 기본값으로 사용합니다.

다음 단계를 사용하여 사용자 지정 상호 제외 개체를 만들고 프로필에 추가합니다.

  1. WMCreateProfileManager 함수를 호출하여 프로필 관리자를 만듭니다.

  2. 기존 프로필로 시작하거나 완전히 새로운 프로필을 만듭니다.

    • 기존 프로필을 사용하는 경우 IWMProfileManager 인터페이스의 로드 메서드 중 하나를 호출합니다. 그런 다음 4단계로 건너뜁니다.
    • 완전히 새로운 프로필을 만드는 경우 IWMProfileManager::CreateEmptyProfile을 호출합니다.
  3. IWMProfile::CreateNewStream을 호출하여 새 프로필에 스트림을 추가합니다. IWMStreamConfig의 메서드를 사용하여 필요에 따라 스트림을 구성합니다. QueryInterface를 호출하여 스트림 구성 개체의 다른 인터페이스에 액세스할 수도 있습니다.

    CreateNewStream 은 스트림 구성 개체만 만들고 프로필에 영향을 주지 않습니다. 스트림이 제대로 구성된 후에는 IWMProfile::AddStream 을 호출하여 프로필에 스트림을 추가해야 합니다.

  4. IWMProfile::CreateNewMutualExclusion을 호출하여 상호 제외 개체를 만듭니다.

  5. IWMStreamList::AddStream을 호출하여 원하는 스트림을 상호 제외 개체에 추가합니다(IWMMStreamList에서 상속되는 IWMMutualExclusion에서 직접 사용 가능).

  6. IWMMutualExclusion::SetType을 호출하여 상호 제외 유형을 사용자 지정으로 설정합니다. 형식 GUID로 CLSID_WMMUTEX_Unknown 전달합니다.

  7. IWMProfile::AddMutualExclusion을 호출하여 구성된 상호 제외 개체를 프로필에 추가합니다.

IWMMutualExclusion 인터페이스

IWMProfile 인터페이스

IWMProfileManager 인터페이스

IWMStreamConfig 인터페이스

IWMStreamList 인터페이스

상호 제외 사용

WMCreateProfileManager