/*============================================================================
 * OpcUa_MemoryStream_Read
 *===========================================================================*/
OpcUa_StatusCode OpcUa_MemoryStream_Read(
    struct _OpcUa_InputStream*     istrm,
    OpcUa_Byte*                    buffer,
    OpcUa_UInt32*                  count,
    OpcUa_Stream_PfnOnReadyToRead* callback,
    OpcUa_Void*                    callbackData)
{
    OpcUa_MemoryStream* handle = OpcUa_Null;

    OpcUa_DeclareErrorTraceModule(OpcUa_Module_MemoryStream);

    OpcUa_ReturnErrorIfArgumentNull(istrm);
    OpcUa_ReturnErrorIfArgumentNull(buffer);
    OpcUa_ReturnErrorIfArgumentNull(count);
    OpcUa_ReturnErrorIfInvalidStream(istrm, Read);
    OpcUa_ReferenceParameter(callback);
    OpcUa_ReferenceParameter(callbackData);

    handle = (OpcUa_MemoryStream*)istrm->Handle;

    if (handle->Closed)
    {
        return OpcUa_BadInvalidState;
    }

    return OpcUa_Buffer_Read(handle->pBuffer, buffer, count);
}
Esempio n. 2
0
/*============================================================================
 * OpcUa_MemoryStream_Read
 *===========================================================================*/
OpcUa_StatusCode OpcUa_MemoryStream_Read(
    OpcUa_InputStream*             istrm,
    OpcUa_Byte*                    buffer,
    OpcUa_UInt32*                  count)
{
    OpcUa_MemoryStream* handle = OpcUa_Null;

    OpcUa_DeclareErrorTraceModule(OpcUa_Module_MemoryStream);

    OpcUa_ReturnErrorIfArgumentNull(istrm);
    OpcUa_ReturnErrorIfArgumentNull(buffer);
    OpcUa_ReturnErrorIfArgumentNull(count);
    OpcUa_ReturnErrorIfInvalidStream(istrm, Read);

    handle = (OpcUa_MemoryStream*)istrm->Handle;

    if (handle->Closed)
    {
        return OpcUa_BadInvalidState;
    }

    return OpcUa_Buffer_Read(handle->pBuffer, buffer, count);
}