다음을 통해 공유


BroadcastSystemMessage 함수(winuser.h)

지정된 받는 사람에게 메시지를 보냅니다. 수신자는 애플리케이션, 설치 가능한 드라이버, 네트워크 드라이버, 시스템 수준 디바이스 드라이버 또는 이러한 시스템 구성 요소의 조합일 수 있습니다.

요청이 정의된 경우 추가 정보를 받으려면 BroadcastSystemMessageEx 함수를 사용합니다.

구문

long BroadcastSystemMessage(
  [in]                DWORD   flags,
  [in, out, optional] LPDWORD lpInfo,
  [in]                UINT    Msg,
  [in]                WPARAM  wParam,
  [in]                LPARAM  lParam
);

매개 변수

[in] flags

형식:DWORD

브로드캐스트 옵션입니다. 이 매개 변수는 다음 값 중 하나 이상일 수 있습니다.

의미
BSF_ALLOWSFW
0x00000080
받는 사람이 메시지를 처리하는 동안 포그라운드 창을 설정할 수 있도록 합니다.
BSF_FLUSHDISK
0x00000004
각 수신자가 메시지를 처리한 후 디스크를 플러시합니다.
BSF_FORCEIFHUNG
0x00000020
제한 시간이 경과하거나 받는 사람 중 한 명이 응답하지 않더라도 메시지를 계속 브로드캐스트합니다.
BSF_IGNORECURRENTTASK
0x00000002
현재 작업에 속한 창에 메시지를 보내지 않습니다. 이렇게 하면 애플리케이션에서 자체 메시지를 수신할 수 없습니다.
BSF_NOHANG
0x00000008
응답하지 않는 애플리케이션의 시간 초과를 강제로 적용합니다. 받는 사람 중 한 명이 시간 초과된 경우 메시지 브로드캐스트를 계속하지 마세요.
BSF_NOTIMEOUTIFNOTHUNG
0x00000040
받는 사람이 응답하지 않는 한 메시지에 대한 응답을 기다립니다. 시간이 초과되지 않습니다.
BSF_POSTMESSAGE
0x00000010
메시지를 게시합니다. BSF_QUERY 함께 사용하지 마세요.
BSF_QUERY
0x00000001
현재 받는 사람이 TRUE를 반환하는 경우에만 후속 받는 사람에게 보내는 메시지를 한 번에 한 명의 받는 사람에게 보냅니다.
BSF_SENDNOTIFYMESSAGE
0x00000100
SendNotifyMessage 함수를 사용하여 메시지를 보냅니다. BSF_QUERY 함께 사용하지 마세요.

[in, out, optional] lpInfo

형식: LPDWORD

메시지의 받는 사람에 대한 정보를 포함하고 받는 변수에 대한 포인터입니다.

함수가 반환될 때 이 변수는 실제로 메시지를 받은 받는 사람을 식별하는 이러한 값의 조합을 받습니다.

이 매개 변수가 NULL이면 함수는 모든 구성 요소로 브로드캐스트됩니다.

이 매개 변수는 다음 값 중 하나 이상일 수 있습니다.

의미
BSM_ALLCOMPONENTS
0x00000000
모든 시스템 구성 요소에 브로드캐스트합니다.
BSM_ALLDESKTOPS
0x00000010
모든 데스크톱에 브로드캐스트합니다. SE_TCB_NAME 권한이 필요합니다.
BSM_APPLICATIONS
0x00000008
애플리케이션에 브로드캐스트합니다.

[in] Msg

형식: UINT

보낼 메시지입니다.

시스템 제공 메시지 목록은 시스템 정의 메시지를 참조하세요.

[in] wParam

형식: WPARAM

추가 메시지 관련 정보입니다.

[in] lParam

형식: LPARAM

추가 메시지 관련 정보입니다.

반환 값

형식: long

함수가 성공하면 반환 값은 양수 값입니다.

함수가 메시지를 브로드캐스트할 수 없는 경우 반환 값은 –1입니다.

dwFlags 매개 변수가 BSF_QUERY 하나 이상의 받는 사람이 해당 메시지에 BROADCAST_QUERY_DENY 반환되는 경우 반환 값은 0입니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다.

설명

BSF_QUERY 지정하지 않으면 함수는 요청된 모든 받는 사람에게 지정된 메시지를 보내고 해당 받는 사람이 반환한 값을 무시합니다.

시스템은 시스템 메시지(0~(WM_USER-1) 범위의 메시지)에 대해서만 마샬링을 수행합니다. 다른 메시지(그 >= WM_USER)를 다른 프로세스로 보내려면 사용자 지정 마샬링을 수행해야 합니다.

예제

예제는 프로세스 종료를 참조하세요.

요구 사항

   
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 winuser.h(Windows.h 포함)
라이브러리 User32.lib
DLL User32.dll

참고 항목

BroadcastSystemMessageEx

개념

메시지 및 메시지 큐

참조

SendNotifyMessage