Esempio n. 1
0
        /// <summary>
        /// Read up to (buffer.Length - bufferOffset) bytes into |buffer|. Reading begins at
        /// the specified byte dataOffset. Writing begins at the
        /// specified byte bufferOffset.
        /// Returns the number of bytes read.
        /// </summary>
        public int GetData(byte[] buffer, int bufferOffset, int dataOffset)
        {
            if (buffer == null || buffer.Length == 0)
            {
                throw new ArgumentException("Buffer is null or zero length.", "buffer");
            }

            var maxBytes = buffer.Length - bufferOffset;

            if (maxBytes <= 0)
            {
                throw new ArgumentException("bufferOffset >= buffer.Length.", "bufferOffset");
            }

            var po = new PinnedObject(buffer);

            var retval = CfxApi.cfx_binary_value_get_data(NativePtr, po.PinnedPtr + bufferOffset, maxBytes, dataOffset);

            po.Free();
            return(retval);
        }
Esempio n. 2
0
 /// <summary>
 /// Read up to |bufferSize| number of bytes into |buffer|. Reading begins at
 /// the specified byte |dataOffset|. Returns the number of bytes read.
 /// </summary>
 /// <remarks>
 /// See also the original CEF documentation in
 /// <see href="https://bitbucket.org/chromiumfx/chromiumfx/src/tip/cef/include/capi/cef_values_capi.h">cef/include/capi/cef_values_capi.h</see>.
 /// </remarks>
 public int GetData(IntPtr buffer, int bufferSize, int dataOffset)
 {
     return(CfxApi.cfx_binary_value_get_data(NativePtr, buffer, bufferSize, dataOffset));
 }