3.1.4.1.1 Sequencing Rules

The successful outcome of a series of RPC method calls depends on the sequence of calls made, because state is maintained on the server throughout the method invocations. It is valid to call RPC methods concurrently; when this happens, the server MUST ensure that it remains in a consistent state while processing the concurrent method calls. The outcome of concurrent calls is as expected according to the current state of the server when the calls were made.

The following methods are used by the fax client to connect to, disconnect from, or release a connection from the fax server.

The FAX_ConnectFaxServer method or the FAX_ConnectionRefCount method MUST be called by the client to connect to the fax server before the following methods are called. FAX_ConnectionRefCount MUST be called to close this connection.

The following methods MUST be used by the fax client to open or close a fax port.

The FAX_OpenPort method MUST be called to open a fax port and obtain a fax port handle for use with the following methods. The port MUST be closed using FAX_ClosePort.

The following methods MUST be used by the fax client to start or stop enumerating messages in one of the archives on the fax server.

The FAX_StartMessagesEnum method or the FAX_StartMessagesEnumEx method MUST be called to obtain a fax message enumeration handle for use with the following methods. FAX_EndMessagesEnum MUST be called to stop the message enumeration.

The following methods MUST be used by the fax client to start or stop copying a file to or a message from the fax server.

The FAX_StartCopyToServer method or the FAX_StartCopyMessageFromServer method MUST be called to obtain a copy handle for use with the following methods. FAX_EndCopy MUST be called to stop the copy operation and close the copy handle. The contents of one file are split and copied in one or several parts (chunks), each individual part (chunk) copied with a separate FAX_WriteFile or FAX_ReadFile method call, in a sequence, until the entire file contents are copied.<64> After the entire contents of the file are copied, the fax client MUST call the FAX_EndCopy method as described in the previous sequencing rule.

The following methods MUST be used by the fax client to start or stop notifications from the fax server.