Receiving I/O Completion Packets from the Fax Service

This functionality is currently available only in the Microsoft Win32 environment. It is not available in the legacy Component Object Model (COM) implementation environment. But it is available in the Extended COM environment.

When a client application calls the FaxInitializeEventQueue function, it can specify notification using I/O completion packets instead of notification messages. The application does this by passing a valid handle to an I/O completion port in the CompletionPort parameter, and a value in the CompletionKey parameter. If the application specifies I/O completion packets, the fax service does not open an impersonation token for the application. In this situation no additional coding is necessary, because completion packets can cross desktops.

To notify the client of asynchronous events, the fax service calls the PostQueuedCompletionStatus function. The client must call the GetQueuedCompletionStatus function to retrieve the I/O completion packet. The I/O completion packet contains a FAX_EVENT structure.