다음을 통해 공유


BroadcastSystemMessageA 함수(winuser.h)

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

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

통사론

long BroadcastSystemMessageA(
  [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

보낼 메시지입니다.

시스템 제공 메시지 목록은 System-Defined 메시지참조하세요.

[in] wParam

형식: WPARAM

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

[in] lParam

형식: LPARAM

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

반환 값

형식:

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

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

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

발언

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

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

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

메모

winuser.h 헤더는 BROADCASTSystemMessage를 UNICODE 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입대한 규칙을 참조하세요.

요구 사항

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

참고 항목

BroadcastSystemMessageEx

개념

메시지 및 메시지 큐

참조

SendNotifyMessage