Important: |
---|
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist. |
This function provides the necessary callback to the server from the specified server extension.
Syntax
typedef int (*ServerCallback)( unsigned int uiOp, unsigned int uiId, struct _obex_command * pCommand ); |
Parameters
- uiOp
-
The operation selector (the response that the server extension sends to the service extension). The following response values do not require the server extension to generate a command; all of these values would cause the OBEX server to format and send the given response back to the client.
Value Description OBEX_RESP_ABORT
The extension process was aborted.
OBEX_RESP_ACCEPT
The extension process was accepted.
OBEX_RESP_CONTINUE
The extension process can continue.
OBEX_RESP_DENY
The extension process was denied.
OBEX_RESP_OK
The extension process was successfully complete.
OBEX_RESP_REJECT
The extension process was rejected.
The following response values require the server extension to generate a command to be sent to the service extension.
Value Description OBEX_RESP_DISCONNECT
Closes the current connection.
When the service extension receives a disconnection request, the server extension must return this value.
OBEX_RESP_HANGUP
Closes the current connection and the physical connection to the client.
This value should only be used if client authentication fails or if the service extension detects a security attack. Closing the physical connection affects all logical connections on the same physical connection.
OBEX_RESP_RESPOND
Generates a custom response; usually used when data is sent.
This value requires an explicit command to be present in the function call parameters.
- uiId
-
The transaction ID to which the OBEX server is responding.
- pCommand
-
If uiOpis set to OBEX_RESP_ABORT, OBEX_RESP_ACCEPT, OBEX_RESP_CONTINUE, OBEX_RESP_DENY, OBEX_RESP_OK, or OBEX_RESP_REJECT, the value of pCommandis set to NULL.
If uiOpis set to OBEX_RESP_DISCONNECT, OBEX_RESP_HANGUP, or OBEX_RESP_RESPOND, pCommandwill contain an OBEXCOMMANDstructure with the following specific values (all other values are the same as in a standard OBEXCOMMANDstructure).
Member Description uiOp
The value of this member must match the value of the original command.
sPktData
The value of this member depends on the semantics of the command.
fFinal
The value of this member must be TRUE.
Return Value
This method returns the standard values E_INVALIDARG, E_OUTOFMEMORY, E_UNEXPECTED, and E_FAIL, as well as the following:
- S_OK
-
The method completed successfully.
Remarks
After the server extension executes a command, the extension must indicate the result of that command to the OBEX server. Otherwise, the OBEX server will be unable to respond to the client command. Because the OBEX protocol is based on the client-server model, the OBEX server must respond to every client command; the server can only send data in response to a client command.
When the physical connection to a device closes, the server extension notifies the service extension by sending an OBEX_REQ_CLOSE transaction with an empty (NULL) OBEX command body.
Requirements
Header | obexserver.h |
Library | Developer Implemented |
Windows Embedded CE | Windows CE .NET 4.0 and later |
Windows Mobile | Pocket PC 2002 and later, Smartphone 2002 and later |