[in] Array of bytes to write to the device.
LowLevelWriteNoPoll
Writes raw bytes directly to a device without going through the formatted I/O write buffer.
Syntax
Section titled “Syntax”virtual HRESULT LowLevelWriteNoPoll(BYTE* pBuf, long cbDesired, long* pcbActual = NULL, bool bAddTrailing = true, long lTimeout = CUR_TIMEOUT) override;
virtual HRESULT LowLevelWriteNoPoll(SAFEARRAY* pBuf, long cbDesired = -1, long* pcbActual = NULL, bool bAddTrailing = true, long lTimeout = CUR_TIMEOUT) override;Parameters
Section titled “Parameters”pBuf
cbDesired
[in] Number of bytes to write to the device. If pBuf is a SAFEARRAY and cbDesired is -1, then the entire contents of the SAFEARRAY are sent to the device.
pcbActual
[out] Actual number of bytes written to the device. pcbActual may be set to NULL if the caller is not interested in knowing the actual number of bytes written.
bAddTrailing
[in] true to have the trailing characters specified by the SetTrailingForWrites function automatically added to pBuf before sending to the device.
lTimeout
[in] I/O timeout value in milliseconds.
Return value
Section titled “Return value”Returns S_OK if successful, otherwise a failure HRESULT.
Remarks
Section titled “Remarks”This function behaves identically to the LowLevelWrite function except that the device is not polled for errors after the data is written.
Example
Section titled “Example”The following example demonstrates use of the LowLevelWriteNoPoll function.
STDMETHODIMP Acme4321::IAcme4321_Configure(SAFEARRAY* psaData){ HRESULT hr = S_OK;
// Write 1000 bytes from psaData hr = io.LowLevel.LowLevelWriteNoPoll(psaData, 1000);
return hr;}