Ejemplo n.º 1
0
 private static void dealRealtimeDataRequest(ref PsmAttach oAttach)
 {
     if (s_realtimeDataRequestDelegate != null)
     {
         s_realtimeDataRequestDelegate(ref oAttach);
     }
 }
Ejemplo n.º 2
0
        //发送文件到远端,带有附件参数
        //消息命令:feilPath是\0为结束符的
        public static int SendFileTransfer(string sFilePath, PsmAttach attach)
        {
            int    r   = 0;
            IntPtr pnt = Marshal.AllocHGlobal(Marshal.SizeOf(attach));

            try
            {
                // Copy the struct to unmanaged memory.
                Marshal.StructureToPtr(attach, pnt, false);
                r = gci_file_transfer_send(sFilePath, pnt);
            }
            finally
            {
                // Free the unmanaged memory.
                Marshal.FreeHGlobal(pnt);
            }
            return(r);
        }
Ejemplo n.º 3
0
        //发送消息命令到远端,带有附件参数
        //消息命令:command是\0为结束符的,param是可以包括\0的任意字符
        public static unsafe int SendMessageCommand(string sCommand, string sParam, PsmAttach attach)
        {
            int    r   = 0;
            IntPtr pnt = Marshal.AllocHGlobal(Marshal.SizeOf(attach));

            try
            {
                // Copy the struct to unmanaged memory.
                byte[] bylen = Encoding.Default.GetBytes(sParam);

                Marshal.StructureToPtr(attach, pnt, false);
                // r = gci_message_command_send(sCommand, sParam, sParam.Length, pnt);
                r = gci_message_command_send(sCommand, sParam, bylen.Length, pnt);
            }
            finally
            {
                // Free the unmanaged memory.
                Marshal.FreeHGlobal(pnt);
            }
            return(r);
        }
Ejemplo n.º 4
0
 private static void dealRealtimeDataPost(int iParamType, IntPtr pData, int iDataLength, int iParamCount, ref PsmAttach oAttach)
 {
     if (iParamType == 0x01010203 && s_yxReceivedAddressInt32VqtDelegate != null && iParamCount > 0 && iParamCount < 1024)
     {
         AddressInt32Vqt[] values = toAddressInt32Vqts(pData, iDataLength, iParamCount);
         s_yxReceivedAddressInt32VqtDelegate(values, ref oAttach);
     }
     else if (iParamType == 0x01010205 && s_yxReceivedAddressVqtText1Delegate != null && iParamCount > 0 && iParamCount < 1024)
     {
         AddressVqtIntText1[] values = toAddressVqtIntText1s(pData, iDataLength, iParamCount);
         s_yxReceivedAddressVqtText1Delegate(values, ref oAttach);
     }
     else if (iParamType == 0x0101021C && s_ycReceivedAddressDoubleVqtDelegate != null && iParamCount > 0 && iParamCount < 1024)
     {
         AddressDoubleVqt[] values = toAddressAddressDoubleVqts(pData, iDataLength, iParamCount);
         s_ycReceivedAddressDoubleVqtDelegate(values, ref oAttach);
     }
     else if (iParamType == 0x0101021E && s_ycReceivedAddressVqtText15Delegate != null && iParamCount > 0 && iParamCount < 1024)
     {
         AddressVqtRealText15[] values = toAddressVqtRealText15s(pData, iDataLength, iParamCount);
         s_ycReceivedAddressVqtText15Delegate(values, ref oAttach);
     }
     else if (iParamType == 0x0101022F && s_ywReceivedAddressVqtString128Delegate != null && iParamCount > 0 && iParamCount < 1024)
     {
         AddressVqtString128[] values = toAddressVqtString128s(pData, iDataLength, iParamCount);
         s_ywReceivedAddressVqtString128Delegate(values, ref oAttach);
     }
 }
Ejemplo n.º 5
0
 private static void dealFileTransfer([MarshalAs(UnmanagedType.LPStr)] string sFilePath, ref PsmAttach oAttach)
 {
     if (s_fileTansferDelegate != null)
     {
         s_fileTansferDelegate(sFilePath, ref oAttach);
     }
 }
Ejemplo n.º 6
0
 private static void dealMessageCommand([MarshalAs(UnmanagedType.LPStr)] string sCommand, IntPtr sParam, int iParamLength, ref PsmAttach oAttach)
 {
     if (s_messageCommandDelegate != null)
     {
         string sParam1 = SdkNative.assignToString(sParam, iParamLength);
         s_messageCommandDelegate(sCommand, sParam1, ref oAttach);
     }
 }