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
보낼 메시지입니다.
시스템 제공 메시지 목록은 System-Defined 메시지참조하세요.
[in] wParam
형식: WPARAM
추가 메시지 관련 정보입니다.
[in] lParam
형식: LPARAM
추가 메시지 관련 정보입니다.
[out, optional] pbsmInfo
형식: PBSMINFO
요청이 거부되고 dwFlagsBSF_QUERY설정된 경우 추가 정보를 포함하는 BSMINFO 구조체에 대한 포인터입니다.
반환 값
형식: 긴
함수가 성공하면 반환 값은 양수 값입니다.
함수가 메시지를 브로드캐스트할 수 없는 경우 반환 값은 -1입니다.
dwFlags 매개 변수가 BSF_QUERY 하나 이상의 받는 사람이 해당 메시지에 BROADCAST_QUERY_DENY 반환하는 경우 반환 값은 0입니다. 확장 오류 정보를 얻으려면 GetLastError호출합니다.
발언
BSF_QUERY 지정하지 않으면 함수는 지정된 메시지를 모든 요청된 받는 사람에게 보내며 해당 받는 사람이 반환한 값을 무시합니다.
호출자의 스레드가 요청을 거부한 창 이외의 바탕 화면에 있는 경우 호출자는 SetThreadDesktop(hdesk) 호출하여 해당 창에서 모든 항목을 쿼리해야 합니다. 또한 호출자는 반환된 hdesk 핸들에서 CloseDesktop 호출해야 합니다.
시스템은 시스템 메시지(0에서 (WM_USER-1) 범위의 메시지만 마샬링합니다. 다른 메시지(>= WM_USER)를 다른 프로세스로 보내려면 사용자 지정 마샬링을 수행해야 합니다.
메모
winuser.h 헤더는 BROADCASTSystemMessageEx를 UNICODE 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입대한
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | winuser.h(Windows.h 포함) |
라이브러리 | User32.lib |
DLL | User32.dll |
참고 항목
BSMINFO
개념
메시지 및 메시지 큐
참조
SendNotifyMessage