示例#1
0
        public virtual int SetSize(
            _ULARGE_INTEGER libNewSize
            )
        {
            var fp = GetFunctionPointer(6);

            if (m_SetSizeFunc == null)
            {
                m_SetSizeFunc = (SetSizeFunc)Marshal.GetDelegateForFunctionPointer(fp, typeof(SetSizeFunc));
            }

            return(m_SetSizeFunc(m_ptr, libNewSize));
        }
示例#2
0
        public virtual int Seek(
            _LARGE_INTEGER dlibMove,
            uint dwOrigin,
            out _ULARGE_INTEGER plibNewPosition
            )
        {
            var fp = GetFunctionPointer(5);

            if (m_SeekFunc == null)
            {
                m_SeekFunc = (SeekFunc)Marshal.GetDelegateForFunctionPointer(fp, typeof(SeekFunc));
            }

            return(m_SeekFunc(m_ptr, dlibMove, dwOrigin, out plibNewPosition));
        }
示例#3
0
        public virtual int UnlockRegion(
            _ULARGE_INTEGER libOffset,
            _ULARGE_INTEGER cb,
            uint dwLockType
            )
        {
            var fp = GetFunctionPointer(11);

            if (m_UnlockRegionFunc == null)
            {
                m_UnlockRegionFunc = (UnlockRegionFunc)Marshal.GetDelegateForFunctionPointer(fp, typeof(UnlockRegionFunc));
            }

            return(m_UnlockRegionFunc(m_ptr, libOffset, cb, dwLockType));
        }
示例#4
0
        public virtual int CopyTo(
            IStream pstm,
            _ULARGE_INTEGER cb,
            out _ULARGE_INTEGER pcbRead,
            out _ULARGE_INTEGER pcbWritten
            )
        {
            var fp = GetFunctionPointer(7);

            if (m_CopyToFunc == null)
            {
                m_CopyToFunc = (CopyToFunc)Marshal.GetDelegateForFunctionPointer(fp, typeof(CopyToFunc));
            }

            return(m_CopyToFunc(m_ptr, pstm != null ? pstm.Ptr : IntPtr.Zero, cb, out pcbRead, out pcbWritten));
        }