ICcConnection::CreateStream (Windows CE 5.0)
This method creates a byte stream based on a specified stream ID for transferring data to and from a device.
HRESULT CreateStream( BSTR bstrStreamId, DWORDdwTimeout, ICcServiceCB*piCallback,DWORD*pdwCookieId,ICcTransportStream**piStream);
Parameters
bstrStreamId
[in] Input stream identifier used for this stream.dwTimeout
[in] Timeout in milliseconds for connect to complete.If piCallback value is set to NULL and if the stream is not created within the specified timeout, then this API returns failure.
If piCallback value is set to non-NULL, this parameter is ignored.
Reserved for future use. Any value returned in this parameter is ignored.
piCallback
[in] Pointer to the callback interface passed in by the client.If this is a valid pointer, then the API returns immediately and the ICcServiceCB interface sends notification to the caller is informed when the stream is created.
If this is NULL, then the API blocks for dwTimeout while waiting for the stream to be created.
Reserved for future use. Any value returned in this parameter is ignored.
pdwCookieId
[out] A valid cookie that identifies the call, if the API is called in an asynchronous mode (piCallback != NULL).Callers can use this cookie in calls to Abort().
Reserved for future use. Any value returned in this parameter is ignored.
piStream
[out, retval] Pointer to the outgoing stream object.The stream object can be used to send raw bytes and to receive a byte stream from the device.
If the method fails or if the call is an asynchronous call, piStream is NULL.
Return Values
If the method fails, it returns an HRESULT error code. If the method succeeds, it returns one of the following:
Value | Description |
---|---|
S_OK | Indicates the method call was successful. |
E_INVALIDARG | Indicates an invalid stream id. |
E_PENDING | Indicates that the stream could not be created within the given timeout. Users can try again with the same or a different timeout value. In this case, piStream is not pointing to any valid object. |
E_DUPLICATE | Indicates that a connection stream object already exists for this device with the given stream ID. |
E_OUTOFMEMORY | Indicates that the stream could not be created. Users might be able to free memory and retry the operation. |
E_FAIL | Return value for any other failure |
Remarks
bstrStreamId must match the stream ID values of a corresponding ICcTransport object created on the device.
If a stream by this ID already exists, the method returns E_DUPLICATE.
The format of bstrStreamId is a string containing one or more name-value pairs separated by spaces, as shown in the following example:
name1=value1[ name2=value2...]
The underlying transport registered with the transport loader on the device determines the precise format of bstrStreamId.
The HLAPI calls IUnknown::AddRef on the ICcTransportStream interface returned by ICcConnection::CreateStream. The application must call ICcService::Disconnect and IUnknown::Release to free any resources associated with the transport stream.
Requirements
OS Version: Windows 2000, Windows XP Home, Windows XP Pro, Windows Server 2003, and Windows Server 2003 Service Pack 1.
Header: CcConnection.h.
Link Library: none.
See Also
Send Feedback on this topic to the authors