BroadcastSystemMessageExA 함수(winuser.h)
지정된 받는 사람에게 메시지를 보냅니다. 수신자는 애플리케이션, 설치 가능한 드라이버, 네트워크 드라이버, 시스템 수준 디바이스 드라이버 또는 이러한 시스템 구성 요소의 조합일 수 있습니다.
이 함수는 받는 사람으로부터 더 많은 정보를 반환할 수 있다는 점을 제외하고 BroadcastSystemMessage 와 유사합니다.
구문
long BroadcastSystemMessageExA(
[in] DWORD flags,
[in, out, optional] LPDWORD lpInfo,
[in] UINT Msg,
[in] WPARAM wParam,
[in] LPARAM lParam,
[out, optional] PBSMINFO pbsmInfo
);
매개 변수
[in] flags
형식:DWORD
브로드캐스트 옵션입니다. 이 매개 변수는 다음 값 중 하나 이상일 수 있습니다.
값 | 의미 |
---|---|
|
받는 사람이 메시지를 처리하는 동안 포그라운드 창을 설정할 수 있도록 합니다. |
|
각 수신자가 메시지를 처리한 후 디스크를 플러시합니다. |
|
제한 시간이 경과하거나 받는 사람 중 한 명이 응답하지 않더라도 메시지를 계속 브로드캐스트합니다. |
|
현재 작업에 속한 창에 메시지를 보내지 않습니다. 이렇게 하면 애플리케이션에서 자체 메시지를 수신할 수 없습니다. |
|
BSF_LUID 설정되면 메시지가 BSMINFO 구조체의 luid 멤버에 지정된 것과 동일한 LUID가 있는 창으로 전송됩니다.
Windows 2000: 이 플래그는 지원되지 않습니다. |
|
응답하지 않는 애플리케이션의 시간 초과를 강제로 적용합니다. 받는 사람 중 한 명이 시간 초과된 경우 메시지 브로드캐스트를 계속하지 마세요. |
|
받는 사람이 응답하지 않는 한 메시지에 대한 응답을 기다립니다. 시간이 초과되지 않습니다. |
|
메시지를 게시합니다. BSF_QUERY 함께 사용하지 마세요. |
|
액세스가 거부되고 이 핸들과 BSF_QUERY 모두 설정된 경우 BSMINFO 는 데스크톱 핸들과 창 핸들을 모두 반환합니다. 액세스가 거부되고 BSF_QUERY 설정되면 BSMINFO에서 창 핸들만 반환됩니다.
Windows 2000: 이 플래그는 지원되지 않습니다. |
|
현재 받는 사람이 TRUE를 반환하는 경우에만 후속 받는 사람에게 보내는 메시지를 한 번에 한 명의 받는 사람에게 보냅니다. |
|
SendNotifyMessage 함수를 사용하여 메시지를 보냅니다. BSF_QUERY 함께 사용하지 마세요. |
[in, out, optional] lpInfo
형식: LPDWORD
메시지의 받는 사람에 대한 정보를 포함하고 받는 변수에 대한 포인터입니다.
함수가 반환될 때 이 변수는 실제로 메시지를 받은 받는 사람을 식별하는 이러한 값의 조합을 받습니다.
이 매개 변수가 NULL이면 함수는 모든 구성 요소로 브로드캐스트됩니다.
이 매개 변수는 다음 값 중 하나 이상일 수 있습니다.
값 | 의미 |
---|---|
|
모든 시스템 구성 요소에 브로드캐스트합니다. |
|
모든 데스크톱에 브로드캐스트합니다. SE_TCB_NAME 권한이 필요합니다. |
|
애플리케이션에 브로드캐스트합니다. |
[in] Msg
형식: UINT
보낼 메시지입니다.
시스템 제공 메시지 목록은 시스템 정의 메시지를 참조하세요.
[in] wParam
형식: WPARAM
추가 메시지 관련 정보입니다.
[in] lParam
형식: LPARAM
추가 메시지 관련 정보입니다.
[out, optional] pbsmInfo
형식: PBSMINFO
요청이 거부되고 dwFlags가 BSF_QUERY 설정된 경우 추가 정보가 포함된 BSMINFO 구조체에 대한 포인터입니다.
반환 값
형식: long
함수가 성공하면 반환 값은 양수 값입니다.
함수가 메시지를 브로드캐스트할 수 없는 경우 반환 값은 –1입니다.
dwFlags 매개 변수가 BSF_QUERY 하나 이상의 받는 사람이 해당 메시지에 BROADCAST_QUERY_DENY 반환되는 경우 반환 값은 0입니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다.
설명
BSF_QUERY 지정하지 않으면 함수는 요청된 모든 받는 사람에게 지정된 메시지를 보내고 해당 받는 사람이 반환한 값을 무시합니다.
호출자의 스레드가 요청을 거부한 창 이외의 바탕 화면에 있는 경우 호출자는 SetThreadDesktop(hdesk) 을 호출하여 해당 창의 모든 항목을 쿼리해야 합니다. 또한 호출자는 반환된 hdesk 핸들에서 CloseDesktop을 호출해야 합니다.
시스템은 시스템 메시지(0~(WM_USER-1) 범위의 메시지)에 대해서만 마샬링을 수행합니다. 다른 메시지(그 >= WM_USER)를 다른 프로세스로 보내려면 사용자 지정 마샬링을 수행해야 합니다.
참고
winuser.h 헤더는 BROADCASTSystemMessageEx를 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | winuser.h(Windows.h 포함) |
라이브러리 | User32.lib |
DLL | User32.dll |
추가 정보
개념
참조