3.2.4 Message Processing Events and Sequencing Rules

The client MUST provide information to WDS Control Protocol to uniquely identify the service to be invoked. It MUST include all variables required by service being invoked. The following is the list of information to be provided:

  • Server name or IP address

  • Endpoint GUID

  • Security (authenticated or unauthenticated call)

  • OpCode

  • Required variables

The client MAY also specify a timeout for the RPC call.

When processing the request, the client MUST follow these steps:

  1. Construct the request packet as specified in section 2.2.1.

  2. Set the authentication level for the RPC call (either authenticated or unauthenticated).

  3. Set the timeout for RPC call if one is specified by client.

  4. Send request to server as specified in section 3.1.4.1.

If call executes and returns with success code of ERROR_SUCCESS (0x00000000), the WDS Control Protocol MUST do the following:

  1. Validate the Endpoint Header (section 2.2.1.1), Operation Header (section 2.2.1.2) and Variables Section (section 2.2.1.3).

  2. The Endpoint GUID in the Endpoint Header MUST match the Endpoint GUID specified by client.

  3. If the OpCode-ErrorCode field in the Operation Header is not set to error code ERROR_SUCCESS (0x00000000), the WDS Control Protocol MAY return the same error code to the client.