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:
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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.