Пример #1
0
        //change struct to bytes and change struct from bytes
        int _SetParamToByte(int nIndex, ref COLUMN_PARAM pParam)
        {
            int    nStructLen = Marshal.SizeOf(pParam);
            int    nPos       = nIndex * nStructLen + Marshal.SizeOf(typeof(TABLE_PARAM));
            IntPtr pStructPtr = Marshal.AllocHGlobal(nStructLen);

            Marshal.StructureToPtr(pParam, pStructPtr, false);
            Marshal.Copy(pStructPtr, m_pData, nPos, nStructLen);
            Marshal.FreeHGlobal(pStructPtr);
            return(0);
        }
Пример #2
0
        int _GetParamFromByte(int nIndex, ref COLUMN_PARAM pParam)
        {
            int nStructLen = Marshal.SizeOf(pParam);
            int nPos       = nIndex * nStructLen + Marshal.SizeOf(typeof(TABLE_PARAM));

            IntPtr pStructPtr = Marshal.AllocHGlobal(nStructLen);

            Marshal.Copy(m_pData, nPos, pStructPtr, nStructLen);
            pParam = (COLUMN_PARAM)Marshal.PtrToStructure(pStructPtr, pParam.GetType());
            Marshal.FreeHGlobal(pStructPtr);
            return(0);
        }