Displaying a UI in Operating Systems Prior to Windows Vista

  • Do not display UI in any component that runs in the spooler's process.

    The spooler runs at a high-privilege security level; therefore, displaying UI opens the spooler to the risk of malicious user code.

  • Check for errors in the driver.

    Asynchronous notification calls fail in operating system releases prior to Windows Vista.

  • Display simple dialog boxes by using the SplPromptUIInUsersSession function.

  • Display complex user interface elements by writing a status monitor.

    A status monitor is an application that the IHV develops and that the user installs. Because the status monitor runs in the user's context under the user's credentials, it is safe for the status monitor to display UI elements at any time. The status monitor can communicate with the spooler by using bidirectional communication or by using the TCPMON Xcv interface. For information, see Adding Bidirectional Communication and TCPMON Xcv Interface.