Función BroadcastSystemMessageExA (winuser.h)
Envía un mensaje a los destinatarios especificados. Los destinatarios pueden ser aplicaciones, controladores instalables, controladores de red, controladores de dispositivo de nivel de sistema o cualquier combinación de estos componentes del sistema.
Esta función es similar a BroadcastSystemMessage , salvo que esta función puede devolver más información de los destinatarios.
Sintaxis
long BroadcastSystemMessageExA(
[in] DWORD flags,
[in, out, optional] LPDWORD lpInfo,
[in] UINT Msg,
[in] WPARAM wParam,
[in] LPARAM lParam,
[out, optional] PBSMINFO pbsmInfo
);
Parámetros
[in] flags
Tipo: DWORD
Opción de difusión. Este parámetro puede ser uno o más de los siguientes valores.
Valor | Significado |
---|---|
|
Permite al destinatario establecer la ventana de primer plano mientras se procesa el mensaje. |
|
Vacía el disco después de que cada destinatario procese el mensaje. |
|
Continúa difundiendo el mensaje, incluso si el período de tiempo de espera transcurre o uno de los destinatarios no responde. |
|
No envía el mensaje a las ventanas que pertenecen a la tarea actual. Esto impide que una aplicación reciba su propio mensaje. |
|
Si se establece BSF_LUID , el mensaje se envía a la ventana que tiene el mismo LUID especificado en el miembro luid de la estructura BSMINFO .
Windows 2000: Esta marca no se admite. |
|
Fuerza a una aplicación que no responde para agotar el tiempo de espera. Si uno de los destinatarios agota el tiempo de espera, no continúe difundiendo el mensaje. |
|
Espera una respuesta al mensaje, siempre y cuando el destinatario no responda. No agota el tiempo de espera. |
|
Publica el mensaje. No use en combinación con BSF_QUERY. |
|
Si se deniega el acceso y se establecen tanto este como BSF_QUERY , BSMINFO devuelve el identificador de escritorio y el identificador de ventana. Si se deniega el acceso y solo se establece BSF_QUERY , BSMINFO devuelve solo el identificador de ventana.
Windows 2000: Esta marca no se admite. |
|
Envía el mensaje a un destinatario cada vez, enviando a un destinatario posterior solo si el destinatario actual devuelve TRUE. |
|
Envía el mensaje mediante la función SendNotifyMessage . No use en combinación con BSF_QUERY. |
[in, out, optional] lpInfo
Tipo: LPDWORD
Puntero a una variable que contiene y recibe información sobre los destinatarios del mensaje.
Cuando la función devuelve, esta variable recibe una combinación de estos valores que identifican qué destinatarios recibieron realmente el mensaje.
Si este parámetro es NULL, la función transmite a todos los componentes.
Este parámetro puede ser uno o más de los siguientes valores.
Valor | Significado |
---|---|
|
Difundir a todos los componentes del sistema. |
|
Difundir a todos los escritorios. Requiere el privilegio SE_TCB_NAME . |
|
Difusión a aplicaciones. |
[in] Msg
Tipo: UINT
El mensaje que se debe enviar.
Para obtener listas de los mensajes proporcionados por el sistema, consulte Mensajes definidos por el sistema.
[in] wParam
Tipo: WPARAM
Información adicional específica del mensaje.
[in] lParam
Tipo: LPARAM
Información adicional específica del mensaje.
[out, optional] pbsmInfo
Tipo: PBSMINFO
Puntero a una estructura BSMINFO que contiene información adicional si se deniega la solicitud y dwFlags se establece en BSF_QUERY.
Valor devuelto
Tipo: long
Si la función se ejecuta correctamente, el valor devuelto es un valor positivo.
Si la función no puede difundir el mensaje, el valor devuelto es –1.
Si el parámetro dwFlags es BSF_QUERY y al menos un destinatario devolvió BROADCAST_QUERY_DENY al mensaje correspondiente, el valor devuelto es cero. Para obtener información de error extendida, llame a GetLastError.
Comentarios
Si no se especifica BSF_QUERY , la función envía el mensaje especificado a todos los destinatarios solicitados, ignorando los valores devueltos por esos destinatarios.
Si el subproceso del autor de la llamada está en un escritorio distinto del de la ventana que denegó la solicitud, el llamador debe llamar a SetThreadDesktop(hdesk) para consultar cualquier cosa en esa ventana. Además, el autor de la llamada debe llamar a CloseDesktop en el identificador de hdesk devuelto.
El sistema solo realiza la serialización de los mensajes del sistema (los comprendidos entre 0 y (WM_USER-1). Para enviar otros mensajes (aquellos >= WM_USER) a otro proceso, debe realizar la serialización personalizada.
Nota
El encabezado winuser.h define BroadcastSystemMessageEx como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutro de codificación con código que no es neutral de codificación puede provocar discrepancias que dan lugar a errores de compilación o en tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows XP [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2003 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | winuser.h (incluya Windows.h) |
Library | User32.lib |
Archivo DLL | User32.dll |
Consulte también
Conceptual
Referencia