PRB: MessageBeep(-1) Is Not Redirected to Terminal Server Clients (297542)



The information in this article applies to:

  • Microsoft Win32 Application Programming Interface (API), when used with:
    • the operating system: Microsoft Windows 2000

This article was previously published under Q297542

SYMPTOMS

In Microsoft Windows NT 4.0-based systems and earlier, if you call the MessageBeep function with -1 specified for the uType parameter, a beep is played through the computer speakers instead of through the sound card. For an application running in a Terminal Server session, this beep is redirected to the client computer, which therefore permits limited audio feedback to be sent to the client. In Windows 2000, MessageBeep(-1) always causes a beep to be played through the sound card and is not redirected to the client.

CAUSE

In Windows NT 4.0 and earlier, MessageBeep(-1) results in a call to the Beep function. The Beep function is always redirected to the client computer in both Windows NT 4.0 and Windows 2000. In Windows 2000, MessageBeep does not call the Beep function.

RESOLUTION

If you want an application to provide audio feedback to Terminal Server clients, make it call the Beep function directly.

MORE INFORMATION

Depending on how the system is configured, MessageBeep(0) can also cause a beep to be played through the computer speakers on a Windows NT 4.0-based system. As with MessageBeep(-1), MessageBeep(0) always causes a beep to be played through the sound card on a Windows 2000-based system, and the MessageBeep function is not redirected to a Terminal Server client.

Modification Type:MajorLast Reviewed:2/25/2004
Keywords:kbAPI kbKernBase kbprb kbTermServ KB297542