Método IAudioSessionManager2::RegisterSessionNotification (audiopolicy.h)
El método RegisterSessionNotification registra la aplicación para recibir una notificación cuando se crea una sesión.
Sintaxis
HRESULT RegisterSessionNotification(
IAudioSessionNotification *SessionNotification
);
Parámetros
SessionNotification
Puntero a la implementación de la aplicación de la interfaz IAudioSessionNotification . Si la llamada al método se realiza correctamente, llama al método AddRef en la interfaz IAudioSessionNotification de la aplicación.
Valor devuelto
Si el método se realiza correctamente, devuelve S_OK. Si se produce un error, los posibles códigos de retorno incluyen, pero no están limitados a, los valores que se muestran en la tabla siguiente.
Valor devuelto | Descripción |
---|---|
|
SessionNotification es NULL. |
|
No se pudo crear el objeto interno debido a memoria insuficiente. |
Comentarios
La aplicación puede registrarse para recibir una notificación cuando se crea una sesión, a través de los métodos de la interfaz IAudioSessionNotification . La aplicación implementa la interfaz IAudioSessionNotification . Los métodos definidos en esta interfaz reciben devoluciones de llamada del sistema cuando se crea una sesión. Para obtener código de ejemplo que muestra cómo implementar esta interfaz, consulte
Interfaz IAudioSessionNotification.
Para empezar a recibir notificaciones, la aplicación llama al método IAudioSessionManager2::RegisterSessionNotification para registrar su interfaz IAudioSessionNotification . Cuando la aplicación ya no requiere notificaciones, llama al método IAudioSessionManager2::UnregisterSessionNotification para eliminar el registro.
Importante
Debe llamar a IAudioSessionEnumerator::GetCount para empezar a recibir notificaciones. La API de enumeración de sesiones descarta nuevas notificaciones de sesión hasta que la aplicación haya recuperado primero la lista de sesiones existentes. Esto es para evitar una condición de carrera que puede producirse cuando llega una notificación de sesión mientras la aplicación usa las API de sesión se está iniciando. Al llamar a GetCount , se desencadena la API de enumeración para empezar a enviar notificaciones de sesión.
CoInitializeEx(NULL, COINIT_MULTITHREADED)
en un subproceso que no es de interfaz de usuario. Si MTA no se inicializa, la aplicación no recibe notificaciones de sesión del administrador de sesiones.
Los subprocesos que ejecutan la interfaz de usuario de una aplicación deben inicializarse en el modelo de subprocesos de apartamento.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 7 [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2008 R2 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | audiopolicy.h |
Consulte también
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de