|
Overview |
|
|
|
Group |
|
|
|
Quick Info
Windows NT
| Yes
| Win95
| No
| Win32s
| No
| Import Library
| winspool.lib
| Header File
| winspool.h
| Unicode
| No
| Platform Notes
| None
|
|
|
FindFirstPrinterChangeNotification
The FindFirstPrinterChangeNotification function creates a change notification object and returns a handle to the
object. You can then use this handle in a call to one of the wait functions to
monitor changes to the printer or print server.
The FindFirstPrinterChangeNotification call specifies the type of changes to be monitored. You can specify a set of
conditions to monitor for changes, a set of printer information fields to
monitor, or both.
A wait operation on the change notification handle succeeds when one of the
specified changes occurs in the specified printer or print server. You then call
the FindNextPrinterChangeNotification function to retrieve information about the change, and to reset the change
notification object for use in the next wait operation.
HANDLE FindFirstPrinterChangeNotification(
HANDLE hPrinter,
| // handle to printer or print server to monitor for changes
| DWORD fdwFlags,
| // flags that specify the conditions to monitor
| DWORD fdwOptions,
| // reserved, must be zero
| LPVOID pPrinterNotifyOptions
| // pointer to structure specifying printer information to monitor
| );
|
|
Parameters
hPrinter
Handle to the printer or print server that you want to monitor. This handle is
obtained by calling the OpenPrinter function.
fdwFlags
A set of bit flags that specify the conditions that will cause the change
notification object to enter a signaled state. A change notification occurs when
one or more of the specified conditions are met. The fdwFlags parameter can be zero if pPrinterNotifyOptions is non-NULL.
You can set one or more of the following change notification constants:
| Notify of any changes to a form. You can set this general flag or one or more
of the following specific flags:
PRINTER_CHANGE_ADD_FORM PRINTER_CHANGE_SET_FORM PRINTER_CHANGE_DELETE_FORM
|
| Notify of any changes to a job. You can set this general flag or one or more
of the following specific flags:
PRINTER_CHANGE_ADD_JOB PRINTER_CHANGE_SET_JOB PRINTER_CHANGE_DELETE_JOB
PRINTER_CHANGE_WRITE_JOB
|
| Notify of any changes to a port. You can set this general flag or one or more
of the following specific flags:
PRINTER_CHANGE_ADD_PORT PRINTER_CHANGE_CONFIGURE_PORT
PRINTER_CHANGE_DELETE_PORT
|
PRINTER_CHANGE_PRINT_PROCESSOR
|
|
| Notify of any changes to a print processor. You can set this general flag or
one or more of the following specific flags: PRINTER_CHANGE_ADD_PRINT_PROCESSOR
PRINTER_CHANGE_DELETE_PRINT_PROCESSOR
|
| Notify of any changes to a printer. You can set this general flag or one or
more of the following specific flags:
PRINTER_CHANGE_ADD_PRINTER PRINTER_CHANGE_SET_PRINTER
PRINTER_CHANGE_DELETE_PRINTER PRINTER_CHANGE_FAILED_CONNECTION_PRINTER
|
PRINTER_CHANGE_PRINTER_DRIVER
|
|
| Notify of any changes to a printer driver. You can set this general flag or
one or more of the following specific flags:
PRINTER_CHANGE_ADD_PRINTER_DRIVER PRINTER_CHANGE_SET_PRINTER_DRIVER
PRINTER_CHANGE_DELETE_PRINTER_DRIVER
|
| Notify if any of the preceding changes occur.
|
For descriptions of the more specific flags in the preceding table, see the FindNextPrinterChangeNotification function.
fdwOptions
Reserved; must be zero.
pPrinterNotifyOptions
Pointer to a PRINTER_NOTIFY_OPTIONS structure. The pTypes member of this structure points to an array of one or more PRINTER_NOTIFY_OPTIONS_TYPE structures, each of which specifies a printer information field to monitor. A
change notification occurs when one or more of the specified fields changes.
When a change occurs, the FindNextPrinterChangeNotification function can retrieve the new printer information. This parameter can be NULL
if fdwFlags is nonzero.
For a list of fields that can be monitored, see PRINTER_NOTIFY_OPTIONS_TYPE.
Return Values
If the function succeeds, the return value is a handle to a change
notification object associated with the specified printer or print server.
If the function fails, the return value is INVALID_HANDLE_VALUE. To get
extended error information, call GetLastError.
Remarks
To monitor a printer or print server, call the FindFirstPrinterChangeNotification function, then use the returned change notification object handle in a call to
one of the wait functions. A wait operation on a change notification object is satisfied when the change
notification object enters the signaled state. The system signals the object
when one or more of the changes specified by fdwFlags or pPrinterNotifyOptions occurs in the monitored printer or print server.
When you call FindFirstPrinterChangeNotification, either fdwFlags must be nonzero or pPrinterNotifyOptions must be non-NULL. If both are specified, notifications will occur for both.
When a wait operation on a printer change notification object is satisfied,
call the FindNextPrinterChangeNotification function to determine the cause of the notification. For a condition
specified by fdwFlags, FindNextPrinterChangeNotification reports the condition or conditions that changed. For a printer information
field specified by pPrinterNotifyOptions , FindNextPrinterChangeNotification reports the field or fields that changed as well as the new information for
these fields. FindNextPrinterChangeNotification also resets the change notification object to the nonsignaled state so you
can use it in another wait operation to continue monitoring the printer or print
server.
Do not call the FindNextPrinterChangeNotification function if the change notification object is not in the signaled state. If
the wait function returns the value WAIT_TIMEOUT, the change object is not in
the signaled state. Call the FindNextPrinterChangeNotification function only if the wait function succeeds without timing out.
When you no longer need the change notification object, close it by calling
the FindClosePrinterChangeNotification function.
The three Find*PrinterChangeNotification functions, in combination with the wait functions, provide an asynchronous and
resource-efficient alternative to the WaitForPrinterChange function.
See Also
FindClosePrinterChangeNotification, FindNextPrinterChangeNotification, OpenPrinter, PRINTER_NOTIFY_OPTIONS, PRINTER_NOTIFY_OPTIONS_TYPE, WaitForPrinterChange
| Last news from Greatis Software |
 |
|
Nostalgia .Net |
|
.Net is powerful, but not all-powerful, so sometimes we need to use Win32 API for our .Net applications. It's simple enough with Platform Invoke if you have Win32 skill, but we do not always have time to dig the ancient documentation, declare the special types that are compatible with Win32, find the values of the Win32's constants and so on. Nostalgia .Net offers several simple-to-use classes, and components that will allow you to forget about the headache of Win32 and just use the power of Win32 in your application the same way as you use the native. Net classes. More » |
| Recommended software for developers |
 |
|
Ultimate Pack |
|
Component pack for Delphi and C++ Builder that contains runtime form designer, runtime object inspector, print suite and much more for the very special price. More » |
 |
|
Form Designer .Net |
|
Unique runtime form design solution that allows to edit any form in .Net WinForms application at runtime with full source codes for only 300 euro! More » |
 |
|
Print Suite .Net |
|
Print Suite .Net is a set of components for easy printing texts, images and grids from your WinForms applications. Full C# source codes are available More » |
 |
|
Gradient Controls .Net |
|
Gradient Controls .Net offers controls with gradient background feature. Labels, panels and so on... Full C# source codes are available More » |
 |
|
Greatis iGrid |
|
iGrid plots drawing grid right over your desktop, so you can use it everywhere, with any drawing application without any special plugins for different graphic editors. More » |
All the contacts and projectsDmitry Vasiliev (just.dmitry)
Related LinksSoftware for Visual Studio .NET developers Software for Delphi and C++ Builder developers Software for Visual Basic 6 developers Delphi Tips&Tricks MegaDetailed.NET More Online Helps Win32 Programmer's Reference Win32 Multimedia Programmer's Reference OLE Programmer's Reference Microsoft Windows Pen API Programmer's Reference Microsoft Windows Sockets 2 Reference Microsoft Windows Telephony API (TAPI) Programmer's Reference Unix Manual Pages
|