Função BroadcastSystemMessageExA (winuser.h)
Envia uma mensagem para os destinatários especificados. Os destinatários podem ser aplicativos, drivers instaláveis, drivers de rede, drivers de dispositivo no nível do sistema ou qualquer combinação desses componentes do sistema.
Essa função é semelhante a BroadcastSystemMessage, exceto pelo fato de que essa função pode retornar mais informações dos destinatários.
Sintaxe
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
A opção de transmissão. Esse parâmetro pode ser um ou mais dos valores a seguir.
Valor | Significado |
---|---|
|
Permite que o destinatário defina a janela em primeiro plano durante o processamento da mensagem. |
|
Libera o disco depois que cada destinatário processa a mensagem. |
|
Continua a transmitir a mensagem, mesmo que o período de tempo limite se esvaia ou um dos destinatários não esteja respondendo. |
|
Não envia a mensagem para janelas que pertencem à tarefa atual. Isso impede que um aplicativo receba sua própria mensagem. |
|
Se Windows 2000: Não há suporte para esse sinalizador. |
|
Força um aplicativo não responsivo a um tempo limite. Se um dos destinatários atingir o tempo limite, não continue transmitindo a mensagem. |
|
Aguarda uma resposta à mensagem, desde que o destinatário não esteja respondendo. Não faz tempo limite. |
|
Posta a mensagem. Não use em combinação com BSF_QUERY. |
|
Se o acesso for negado e esta e BSF_QUERY estiverem definidas, BSMINFO retornará o identificador da área de trabalho e o identificador da janela. Se o acesso for negado e apenas BSF_QUERY estiver definido, somente o identificador de janela será retornado por BSMINFO.
Windows 2000: Não há suporte para esse sinalizador. |
|
Envia a mensagem para um destinatário de cada vez, enviando para um destinatário subsequente somente se o destinatário atual retornar VERDADEIRO. |
|
Envia a mensagem usando função SendNotifyMessage. Não use em combinação com BSF_QUERY. |
[in, out, optional] lpInfo
Tipo: LPDWORD
Um ponteiro para uma variável que contém e recebe informações sobre os destinatários da mensagem.
Quando a função retorna, essa variável recebe uma combinação desses valores identificando quais destinatários realmente receberam a mensagem.
Se esse parâmetro for NULL, a função será transmitida para todos os componentes.
Esse parâmetro pode ser um ou mais dos valores a seguir.
Valor | Significado |
---|---|
|
Difundir para todos os componentes do sistema. |
|
Difundir para todas as áreas de trabalho. Requer o privilégio SE_TCB_NAME. |
|
Difundir para aplicativos. |
[in] Msg
Tipo: UINT
A mensagem a ser enviada.
Para obter listas das mensagens fornecidas pelo sistema, consulte System-Defined Mensagens.
[in] wParam
Tipo: WPARAM
Informações adicionais específicas da mensagem.
[in] lParam
Tipo: LPARAM
Informações adicionais específicas da mensagem.
[out, optional] pbsmInfo
Tipo: PBSMINFO
Um ponteiro para uma estrutura de BSMINFO
Valor de retorno
Tipo: longo
Se a função for bem-sucedida, o valor retornado será um valor positivo.
Se a função não puder transmitir a mensagem, o valor retornado será –1.
Se o parâmetro dwFlags for BSF_QUERY e pelo menos um destinatário retornado BROADCAST_QUERY_DENY para a mensagem correspondente, o valor retornado será zero. Para obter informações de erro estendidas, chame GetLastError.
Observações
Se BSF_QUERY não for especificado, a função enviará a mensagem especificada a todos os destinatários solicitados, ignorando os valores retornados por esses destinatários.
Se o thread do chamador estiver em uma área de trabalho diferente da janela que negou a solicitação, o chamador deverá chamar setThreadDesktop(hdesk) para consultar qualquer coisa nessa janela. Além disso, o chamador deve chamar CloseDesktop no identificador de hdesk retornado.
O sistema só faz marshalling para mensagens do sistema (aquelas no intervalo de 0 a (WM_USER-1)). Para enviar outras mensagens (aquelas >= WM_USER) para outro processo, você deve fazer o marshalling personalizado.
Nota
O cabeçalho winuser.h define BroadcastSystemMessageEx como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows XP [somente aplicativos da área de trabalho] |
servidor com suporte mínimo | Windows Server 2003 [somente aplicativos da área de trabalho] |
da Plataforma de Destino |
Windows |
cabeçalho | winuser.h (inclua Windows.h) |
biblioteca | User32.lib |
de DLL |
User32.dll |
Consulte também
Conceitual
mensagens e filas de mensagens
de referência de