Esempio n. 1
0
 internal static Opc.Dx.IdentifiedResult[] GetIdentifiedResults(ref IntPtr pInput, int count, bool deallocate)
 {
     Opc.Dx.IdentifiedResult[] resultArray = null;
     if ((pInput != IntPtr.Zero) && (count > 0))
     {
         resultArray = new Opc.Dx.IdentifiedResult[count];
         IntPtr ptr = pInput;
         for (int i = 0; i < count; i++)
         {
             OpcRcw.Dx.IdentifiedResult result = (OpcRcw.Dx.IdentifiedResult)Marshal.PtrToStructure(ptr, typeof(OpcRcw.Dx.IdentifiedResult));
             resultArray[i]          = new Opc.Dx.IdentifiedResult();
             resultArray[i].ItemName = result.szItemName;
             resultArray[i].ItemPath = result.szItemPath;
             resultArray[i].Version  = result.szVersion;
             resultArray[i].ResultID = OpcCom.Interop.GetResultID(result.hResultCode);
             if (deallocate)
             {
                 Marshal.DestroyStructure(ptr, typeof(OpcRcw.Dx.IdentifiedResult));
             }
             ptr = (IntPtr)(ptr.ToInt32() + Marshal.SizeOf(typeof(OpcRcw.Dx.IdentifiedResult)));
         }
         if (deallocate)
         {
             Marshal.FreeCoTaskMem(pInput);
             pInput = IntPtr.Zero;
         }
     }
     return(resultArray);
 }
Esempio n. 2
0
 // Token: 0x060004B4 RID: 1204 RVA: 0x0000DFDD File Offset: 0x0000CFDD
 public IdentifiedResult(IdentifiedResult item) : base(item)
 {
     if (item != null)
     {
         this.ResultID       = item.ResultID;
         this.DiagnosticInfo = item.DiagnosticInfo;
     }
 }
        /// <summary>
        /// Converts an array of COM IdentifiedResult structures to .NET IdentifiedResult objects.
        /// </summary>
        internal static Opc.Dx.IdentifiedResult[] GetIdentifiedResults(ref IntPtr pInput, int count, bool deallocate)
        {
            Opc.Dx.IdentifiedResult[] output = null;

            if (pInput != IntPtr.Zero && count > 0)
            {
                output = new Opc.Dx.IdentifiedResult[count];

                IntPtr pos = pInput;

                for (int ii = 0; ii < count; ii++)
                {
                    OpcRcw.Dx.IdentifiedResult result = (OpcRcw.Dx.IdentifiedResult)Marshal.PtrToStructure(pos, typeof(OpcRcw.Dx.IdentifiedResult));

                    output[ii] = new Opc.Dx.IdentifiedResult();

                    output[ii].ItemName = result.szItemName;
                    output[ii].ItemPath = result.szItemPath;
                    output[ii].Version  = result.szVersion;
                    output[ii].ResultID = OpcCom.Interop.GetResultID(result.hResultCode);

                    if (deallocate)
                    {
                        Marshal.DestroyStructure(pos, typeof(OpcRcw.Dx.IdentifiedResult));
                    }

                    pos = (IntPtr)(pos.ToInt64() + Marshal.SizeOf(typeof(OpcRcw.Dx.IdentifiedResult)));
                }

                if (deallocate)
                {
                    Marshal.FreeCoTaskMem(pInput);
                    pInput = IntPtr.Zero;
                }
            }

            return(output);
        }
 /// <summary>
 /// Removes all itemIDs in the collection.
 /// </summary>
 public void Clear()
 {
     m_results = new IdentifiedResult[0];
 }