Función BroadcastSystemMessageExW (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 BroadcastSystemMessageExW(
[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 en 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 que 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 tanto el identificador de escritorio como 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 se devuelve la función, esta variable recibe una combinación de estos valores que identifican qué destinatarios realmente recibieron el mensaje.
Si este parámetro es NULL, la función difunde 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, vea 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 autor de la llamada 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 del intervalo de 0 a (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 neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o 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 (incluir Windows.h) |
Library | User32.lib |
Archivo DLL | User32.dll |
Consulte también
Conceptual
Referencia