Compartir a través de


Uso de tipos de exclusión mutua personalizados

[La característica asociada a esta página, WINDOWS Media Format 11 SDK, es una característica heredada. Se ha reemplazado por lector de origen y escritor receptor. Lector de origen y escritor receptor se han optimizado para Windows 10 y Windows 11. Microsoft recomienda encarecidamente que el nuevo código use lector fuente y escritor receptor en lugar del SDK de Windows Media Format 11, siempre que sea posible. Microsoft sugiere que el código existente que usa las API heredadas se reescriba para usar las nuevas API si es posible.

Puede usar objetos de exclusión mutua en un perfil para satisfacer las necesidades de escenarios personalizados. Al pasar el valor guid CLSID_WMMUTEX_Unknown a IWMMutualExclusion::SetType, se informa al objeto de exclusión mutua que usa un escenario personalizado.

Debe controlar manualmente la selección de secuencias al leer un archivo con un valor de exclusión mutua personalizado. El objeto reader usará la primera secuencia que agregue a la exclusión mutua como valor predeterminado.

Siga estos pasos para crear un objeto de exclusión mutua personalizado y agregarlo a un perfil:

  1. Cree un administrador de perfiles mediante una llamada a la función WMCreateProfileManager .

  2. Comience con un perfil existente o cree uno completamente nuevo.

  3. Agregue secuencias al nuevo perfil llamando a IWMProfile::CreateNewStream. Configure las secuencias según sea necesario mediante los métodos de IWMStreamConfig. También puede llamar a QueryInterface para acceder a otras interfaces en el objeto de configuración de flujo.

    CreateNewStream crea solo un objeto de configuración de flujo y no afecta al perfil. Una vez configurada correctamente una secuencia, debe llamar a IWMProfile::AddStream para agregar la secuencia al perfil.

  4. Cree un objeto de exclusión mutua llamando a IWMProfile::CreateNewMutualExclusion.

  5. Agregue las secuencias deseadas al objeto de exclusión mutua llamando a IWMStreamList::AddStream (disponible directamente desde IWMMutualExclusion, que hereda de IWMStreamList).

  6. Establezca el tipo de exclusión mutua en personalizado llamando a IWMMutualExclusion::SetType. Pase el CLSID_WMMUTEX_Unknown como GUID de tipo.

  7. Agregue el objeto de exclusión mutua configurado al perfil llamando a IWMProfile::AddMutualExclusion.

IWMMutualExclusion (Interfaz)

IWMProfile (Interfaz)

Interfaz IWMProfileManager

Interfaz IWMStreamConfig

IWMStreamList (interfaz)

Usar exclusión mutua

WMCreateProfileManager