int _SetParamToByte(ref TABLE_PARAM pParam) { int nStructLen = Marshal.SizeOf(pParam); int nPos = 0; IntPtr pStructPtr = Marshal.AllocHGlobal(nStructLen); Marshal.StructureToPtr(pParam, pStructPtr, false); Marshal.Copy(pStructPtr, m_pData, nPos, nStructLen); Marshal.FreeHGlobal(pStructPtr); return(0); }
int _GetParamFromByte(ref TABLE_PARAM pParam) { int nStructLen = Marshal.SizeOf(pParam); int nPos = 0; IntPtr pStructPtr = Marshal.AllocHGlobal(nStructLen); Marshal.Copy(m_pData, nPos, pStructPtr, nStructLen); pParam = (TABLE_PARAM)Marshal.PtrToStructure(pStructPtr, pParam.GetType()); Marshal.FreeHGlobal(pStructPtr); return(0); }