2.2.2.5 Response Payload for CreateService and DeleteService Messages

The CreateService and DeleteService messages are both two-way DSLR requests, and as such, follow the same convention as would any application-defined, DSLR two-way service request. The message response tag and payload is a child of the DSLR dispatch response tag defined in section 2.2.2.2, and includes the result of the function call and any output parameters returned by the function (neither CreateService nor DeleteService have any output parameters, so only the result is returned).

The CallingConvention parameter in the dispatch response tag for CreateService and DeleteService MUST be dslrResponse (0x00000002).

The format for the CreateService and DeleteService Response payload (the return value from the function call) is as follows:


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

Result

Result (4 bytes): An unsigned 32-bit integer.  HRESULT returned from function call.

The following error codes MAY be returned in the response payload for both the CreateService and DeleteService messages, as well as by any application defined remote services (see section 2.2.2.7, Generic Service Response Payload).

Facility:

Value

Meaning

FACILITY_DSLR

0x8817

Facility for all DSLR HRESULT errors.

Generic Error Codes:

Value

Meaning

DSLR_E_OUTOFMEMORY

0x8817000e

Ran out of memory.

DSLR_E_INVALIDARG

0x88170057

One or more arguments are invalid.

DSLR_E_POINTER

0x88174003

Invalid pointer.

DSLR_E_FAIL

0x88174005

Unspecified error.

DSLR_E_UNEXPECTED

0x8817ffff

Catastrophic failure.

Dispenser-Specific Error Codes:

Value

Meaning

DSLR_E_PROXYNOTFOUND

0x88170100

Cannot find a proxy for this service.

DSLR_E_STUBNOTFOUND

0x88170101

Cannot find a stub for this service.

DSLR_E_INVALIDSETTINGS

0x88170102

Invalid DSLR settings.

Serializer/Deserializer-Specific Error Codes:

Value

Meaning

DSLR_E_CHILDCOUNT

0x88170103

Tag has too many children.

DSLR_E_INVALIDFUNCTION

0x88170104

Unknown function.

DSLR_E_TOOLONG

0x88170105

The tag's payload is too long.

Dispatcher-Specific Error Codes:

Value

Meaning

DSLR_E_OUTOFHANDLES

0x88170106

No more request handles are available.

DSLR_E_SERVICERELEASED

0x88170107

The service was released.

DSLR_E_INVALIDCALLCONVENTION

0x88170108

Unsupported calling convention.

DSLR_E_INVALIDREQUESTHANDLE

0x88170109

Invalid request handle.

DSLR_E_INVALIDSTUBHANDLE

0x8817010a

Invalid stub handle.

DSLR_E_ABORT

0x8817010b

DSLR operation aborted.

Transport Specific Error Codes:

Value

Meaning

DSLR_E_INVALIDOPERATION

0x8817010c

Invalid operation.

DSLR_E_INVALIDTAGOPERATION

0x8817010d

Invalid operation on this tag.

DSLR_E_TAGHASNOMORECHILDREN

0x8817010e

There are no more children to this tag.

DSLR_E_TAGSEEKERROR

0x8817010f

Tag operation is out of bounds.

DSLR_E_SENDBUFFERTOOSMALL

0x88170110

Buffer is too small for this tag.

DSLR_E_DISCONNECTED

0x88170111L

The transport was disconnected unexpectedly.

The CreateService and DeleteService messages have no additional out parameters.