Requests that an asynchronous write operation be performed on the specified I/O interface.
When the operation completes, the result will posted to the event queue and can be retrieved by calling the queues getNextEvent() method.
- Parameters
-
pIoIface | [ in ] A pointer to the I/O interface to perform the write operation on. This interface must have already been associted with the event queue by successfully calling the associate() method. |
pIoBuffer | [ in ] A pointer to a p6IIoBuffer containing the data to write. The contents of the I/O buffer will be written beginning at the offset specified in the m_offset field of the specified pIoContext and ending at the value returned by the I/O buffers getUsed() method. |
pIoContext | [ in ] A pointer to a properly initialized P6IOCONTEXT which will be used for this I/O operation. Any unused members of this structure should always be initialized to zero before the structure is passed into this method. Othwise the method may file with an error return of eInvalidArg. The m_cTransfer member can be set to the number of bytes to write, or zero to automatically write the number of used bytes in the buffer passed in the pIoBuffer argument. If m_cTransfer is greater than zero, it must be less than or equal to the number of used bytes in the provided buffer. |
- Returns
Success | P6R::eOk | The request was successfully posted. Be aware that the event can complete before returning from this method. |
Failure | P6R::eInvalidArg | pIoIface, pIoBuffer, or pIoContext was NULL. |
P6R::eNotInitialized | The initialize() method has not been successfully called on the event queue's interface. |
P6R::eNoInterface | The type of interface passed in pIoIface is not supported by the event queue. |
P6R::eNoAssoc | The type of interface passed in pIoIface is not supported by the event queue. |
P6R::eTooBig | m_cTransfer was greater than the number of used bytes in the buffer. |
- See Also
- P6R::p6ITcpSocket, P6R::p6IUdpSocket, P6R::p6IUnbufferedFile, P6R::p6IIoBuffer, P6R::P6IOCONTEXT