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. |
Connectrequests are optional. If a Connectrequest is not issued before a IObexDevice::Getor IObexDevice::Putcommand, a default packet size of 255 bytes is assumed.
To send a Connectrequest to the server, pass the headers in the IObexDevice::Connectmethod. Response, sent by the server, includes headers in the property bag that is returned from IObexDevice::Connect.
The following code example is an excerpt from the sample function, Connect, that is defined in filebrowser.h.
For Windows Mobile, the filebroswer.h file is at < Adaptation Kit directory>\Public\Servers\SDK\Samples\OBEX\OBEXTOOL.
This example shows how to add a target header and then connect to an OBEX Server
Note To make the following code example easier to read, error checking is not included. This code example should not be used in a release configuration unless it has been modified to include secure error handling.
Copy Code | |
---|---|
//Declare interface pointers. IObexDevice *pObexDevice; IObex *pObex; IHeaderCollection *pHeaderCollection = 0; //Get a Header Collection. HRESULT hr = CoCreateInstance(CLSID_Obex, NULL, CLSCTX_INPROC_SERVER, IID_Obex, (void**)&pObex); ...//A call to notify returns the property bag in the pUnk1 parameter ...//Discover Obex devices ); HRESULT hr = CoCreateInstance(CLSID_HeaderCollection, NULL, CLSCTX_INPROC_SERVER, IID_HeaderCollection, (void**)&pHeaderCollection); pHeaderCollection->AddTarget(sizeof(CLSID_FileExchange_NetOrder), (UCHAR *)&CLSID_FileExchange_NetOrder; //Connect to the OBEX server. hr = BindToDevice(pBag, pObexDevice); hr = pObexDevice->Connect(NULL, 0, pHeaderCollection); |
The packet length varies depending on included headers.
For more information, see the OBEX specification at this
The following optional headers can be used in a Connectrequest:
-
Targetis used to specify a service. If a target is not
specified, the default inbox service is assumed.
-
Authenticate Challengeis used by the client when
authenticating with a server.
-
Authenticate Responseis sent by the client when responding
to a server challenge.
The OBEX version is 1.2 and the flags are always set to 0.
The maximum packet length varies depending upon the packet's configuration.
The following optional headers can be used in a Connectresponse:
-
Whocontains the same information specified in the request
target header.
-
Authenticate Challengeis sent by the server when a client is
authenticating.
-
Authenticate Responseis sent by the server to indicate a
successful challenge/response.