private unsafe void WriteEvent(int eventId, string arg1, string arg2, string arg3, string arg4)
 {
     if (this.IsEnabled())
     {
         if (arg1 == null)
         {
             arg1 = "";
         }
         if (arg2 == null)
         {
             arg2 = "";
         }
         if (arg3 == null)
             arg3 = ""; }
         if (arg4 == null)
             arg4 = "";
         fixed(char *chPtr1 = arg1)
         fixed(char *chPtr2 = arg2)
         fixed(char *chPtr3 = arg3)
         fixed(char *chPtr4 = arg4)
         {
             EventSource.EventData *data = stackalloc EventSource.EventData[4];
             data->DataPointer   = (IntPtr)((void *)chPtr1);
             data->Size          = (arg1.Length + 1) * 2;
             data[1].DataPointer = (IntPtr)((void *)chPtr2);
             data[1].Size        = (arg2.Length + 1) * 2;
             data[2].DataPointer = (IntPtr)((void *)chPtr3);
             data[2].Size        = (arg3.Length + 1) * 2;
             data[3].DataPointer = (IntPtr)((void *)chPtr4);
             data[3].Size        = (arg4.Length + 1) * 2;
             this.WriteEventCore(eventId, 4, data);
         }
     }
Example #2
0
        private unsafe void WriteEvent(int eventId, long arg1, string arg2, bool arg3, bool arg4)
        {
            if (!this.IsEnabled())
            {
                return;
            }
            if (arg2 == null)
            {
                arg2 = "";
            }
            string str   = arg2;
            char * chPtr = (char *)str;

            if ((IntPtr)chPtr != IntPtr.Zero)
            {
                chPtr += RuntimeHelpers.OffsetToStringData;
            }
            EventSource.EventData *data = stackalloc EventSource.EventData[4];
            data->DataPointer   = (IntPtr)((void *)&arg1);
            data->Size          = 8;
            data[1].DataPointer = (IntPtr)((void *)chPtr);
            data[1].Size        = (arg2.Length + 1) * 2;
            data[2].DataPointer = (IntPtr)((void *)&arg3);
            data[2].Size        = 4;
            data[3].DataPointer = (IntPtr)((void *)&arg4);
            data[3].Size        = 4;
            this.WriteEventCore(eventId, 4, data);
            str = (string)null;
        }
Example #3
0
        private void PinArray(object value, int size)
        {
            var pinsTemp = this.pins;

            if (this.pinsEnd <= pinsTemp)
            {
#if PROJECTN
                throw new IndexOutOfRangeException(SR.GetResourceString("EventSource_PinArrayOutOfRange", null));
#else
                throw new IndexOutOfRangeException(Environment.GetResourceString("EventSource_PinArrayOutOfRange"));
#endif
            }

            var datasTemp = this.datas;
            if (this.datasEnd <= datasTemp)
            {
#if PROJECTN
                throw new IndexOutOfRangeException(SR.GetResourceString("EventSource_DataDescriptorsOutOfRange", null));
#else
                throw new IndexOutOfRangeException(Environment.GetResourceString("EventSource_DataDescriptorsOutOfRange"));
#endif
            }

            this.pins  = pinsTemp + 1;
            this.datas = datasTemp + 1;

            *pinsTemp = GCHandle.Alloc(value, GCHandleType.Pinned);
            datasTemp->m_Ptr  = (long)(ulong)(UIntPtr)(void *)pinsTemp->AddrOfPinnedObject();
            datasTemp->m_Size = size;
        }
Example #4
0
        internal unsafe void DumpArrayAsync(SocketAsyncOperation completedOperation, byte[] buffer)
        {
            if (!s_log.IsEnabled())
            {
                return;
            }
            const int SIZEDATA = 3;

            EventSource.EventData *descrs = stackalloc EventSource.EventData[SIZEDATA];
            descrs[0].DataPointer = (IntPtr)(&completedOperation);
            descrs[0].Size        = sizeof(int);
            if (buffer == null || buffer.Length == 0)
            {
                int blobSize = 0;
                descrs[1].DataPointer = (IntPtr)(&blobSize);
                descrs[1].Size        = 4;
                descrs[2].DataPointer = (IntPtr)(&blobSize); // Valid address instead of empty contents.
                descrs[2].Size        = 0;
                WriteEventCore(DUMP_ARRAY_ASYNC_ID, SIZEDATA, descrs);
            }
            else
            {
                int blobSize = buffer.Length;
                fixed(byte *blob = &buffer[0])
                {
                    descrs[1].DataPointer = (IntPtr)(&blobSize);
                    descrs[1].Size        = 4;
                    descrs[2].DataPointer = (IntPtr)blob;
                    descrs[2].Size        = blobSize;
                    WriteEventCore(DUMP_ARRAY_ASYNC_ID, SIZEDATA, descrs);
                }
            }
        }
        private unsafe void WriteEvent(int eventId, long arg1, string arg2, bool arg3, bool arg4)
        {
            if (base.IsEnabled())
            {
                if (arg2 == null)
                {
                    arg2 = "";
                }

                fixed(string text = arg2)
                {
                    char *ptr = text;

                    if (ptr != null)
                    {
                        ptr += RuntimeHelpers.OffsetToStringData / 2;
                    }
                    EventSource.EventData *ptr2 = stackalloc EventSource.EventData[checked (unchecked ((UIntPtr)4) * (UIntPtr)sizeof(EventSource.EventData))];
                    ptr2->DataPointer   = (IntPtr)((void *)(&arg1));
                    ptr2->Size          = 8;
                    ptr2[1].DataPointer = (IntPtr)((void *)ptr);
                    ptr2[1].Size        = (arg2.Length + 1) * 2;
                    ptr2[2].DataPointer = (IntPtr)((void *)(&arg3));
                    ptr2[2].Size        = 4;
                    ptr2[3].DataPointer = (IntPtr)((void *)(&arg4));
                    ptr2[3].Size        = 4;
                    base.WriteEventCore(eventId, 4, ptr2);
                }
            }
        }
Example #6
0
 private unsafe void WriteEvent(int eventId, long arg1, int arg2, string arg3, bool arg4, int arg5, int arg6)
 {
     if (IsEnabled())
     {
         if (arg3 == null)
             arg3 = "";
         fixed(char *string3Bytes = arg3)
         {
             EventSource.EventData *descrs = stackalloc EventSource.EventData[6];
             descrs[0].DataPointer = (IntPtr)(&arg1);
             descrs[0].Size        = 8;
             descrs[0].Reserved    = 0;
             descrs[1].DataPointer = (IntPtr)(&arg2);
             descrs[1].Size        = 4;
             descrs[1].Reserved    = 0;
             descrs[2].DataPointer = (IntPtr)string3Bytes;
             descrs[2].Size        = ((arg3.Length + 1) * 2);
             descrs[2].Reserved    = 0;
             descrs[3].DataPointer = (IntPtr)(&arg4);
             descrs[3].Size        = 4;
             descrs[3].Reserved    = 0;
             descrs[4].DataPointer = (IntPtr)(&arg5);
             descrs[4].Size        = 4;
             descrs[4].Reserved    = 0;
             descrs[5].DataPointer = (IntPtr)(&arg6);
             descrs[5].Size        = 4;
             descrs[5].Reserved    = 0;
             WriteEventCore(eventId, 6, descrs);
         }
     }
 }
 public void EventWithXferManyTypeArgs(Guid RelatedActivityId, long l, uint ui, ulong ui64, char ch,
                                       byte b, sbyte sb, short sh, ushort ush,
                                       float f, double d, Guid guid)
 {
     if (IsEnabled(EventLevel.Informational, Keywords.HasNoArgs))
     {
         unsafe
         {
             EventSource.EventData *descrs = stackalloc EventSource.EventData[11];
             descrs[0].DataPointer  = (IntPtr)(&l);
             descrs[0].Size         = 8;
             descrs[1].DataPointer  = (IntPtr)(&ui);
             descrs[1].Size         = 4;
             descrs[2].DataPointer  = (IntPtr)(&ui64);
             descrs[2].Size         = 8;
             descrs[3].DataPointer  = (IntPtr)(&ch);
             descrs[3].Size         = 2;
             descrs[4].DataPointer  = (IntPtr)(&b);
             descrs[4].Size         = 1;
             descrs[5].DataPointer  = (IntPtr)(&sb);
             descrs[5].Size         = 1;
             descrs[6].DataPointer  = (IntPtr)(&sh);
             descrs[6].Size         = 2;
             descrs[7].DataPointer  = (IntPtr)(&ush);
             descrs[7].Size         = 2;
             descrs[8].DataPointer  = (IntPtr)(&f);
             descrs[8].Size         = 4;
             descrs[9].DataPointer  = (IntPtr)(&d);
             descrs[9].Size         = 8;
             descrs[10].DataPointer = (IntPtr)(&guid);
             descrs[10].Size        = 16;
             WriteEventWithRelatedActivityIdCore(29, &RelatedActivityId, 11, descrs);
         }
     }
 }
Example #8
0
 public unsafe void TaskWaitBegin(int OriginatingTaskSchedulerID, int OriginatingTaskID, int TaskID, TplEtwProvider.TaskWaitBehavior Behavior, int ContinueWithTaskID, int appDomain)
 {
     if (!this.IsEnabled() || !this.IsEnabled(EventLevel.Informational, (EventKeywords)3))
     {
         return;
     }
     EventSource.EventData *data = stackalloc EventSource.EventData[5];
     data->Size          = 4;
     data->DataPointer   = (IntPtr)((void *)&OriginatingTaskSchedulerID);
     data[1].Size        = 4;
     data[1].DataPointer = (IntPtr)((void *)&OriginatingTaskID);
     data[2].Size        = 4;
     data[2].DataPointer = (IntPtr)((void *)&TaskID);
     data[3].Size        = 4;
     data[3].DataPointer = (IntPtr)((void *)&Behavior);
     data[4].Size        = 4;
     data[4].DataPointer = (IntPtr)((void *)&ContinueWithTaskID);
     if (this.TasksSetActivityIds)
     {
         this.WriteEventWithRelatedActivityIdCore(10, &TplEtwProvider.CreateGuidForTaskID(TaskID), 5, data);
     }
     else
     {
         this.WriteEventCore(10, 5, data);
     }
 }
 public unsafe void TraceSynchronousWorkEnd(CausalitySynchronousWork Work)
 {
     if (base.IsEnabled() && base.IsEnabled(EventLevel.Informational, (EventKeywords)32L))
     {
         EventSource.EventData *ptr = stackalloc EventSource.EventData[checked (unchecked ((UIntPtr)1) * (UIntPtr)sizeof(EventSource.EventData))];
         ptr->Size        = 4;
         ptr->DataPointer = (IntPtr)((void *)(&Work));
         base.WriteEventCore(18, 1, ptr);
     }
 }
Example #10
0
 private void ScalarsEnd()
 {
     if (this.writingScalars)
     {
         var datasTemp = this.datas;
         datasTemp->m_Size   = checked ((int)(this.scratch - (byte *)datasTemp->m_Ptr));
         this.datas          = datasTemp + 1;
         this.writingScalars = false;
     }
 }
Example #11
0
 // Token: 0x060034D2 RID: 13522 RVA: 0x000CD7F4 File Offset: 0x000CB9F4
 private unsafe void ScalarsEnd()
 {
     if (this.writingScalars)
     {
         EventSource.EventData *ptr = this.datas;
         ptr->m_Size         = (this.scratch - checked ((UIntPtr)ptr->m_Ptr)) / 1;
         this.datas          = ptr + 1;
         this.writingScalars = false;
     }
 }
Example #12
0
 public unsafe void TraceSynchronousWorkEnd(CausalitySynchronousWork Work)
 {
     if (!this.IsEnabled() || !this.IsEnabled(EventLevel.Informational, (EventKeywords)32))
     {
         return;
     }
     EventSource.EventData *data = stackalloc EventSource.EventData[1];
     data->Size        = 4;
     data->DataPointer = (IntPtr)((void *)&Work);
     this.WriteEventCore(18, 1, data);
 }
Example #13
0
 internal unsafe void Enable(byte *scratch, int scratchSize, EventSource.EventData *datas, int dataCount, GCHandle *pins, int pinCount)
 {
     this.datasStart     = datas;
     this.scratchEnd     = scratch + scratchSize;
     this.datasEnd       = datas + dataCount;
     this.pinsEnd        = pins + pinCount;
     this.scratch        = scratch;
     this.datas          = datas;
     this.pins           = pins;
     this.writingScalars = false;
 }
Example #14
0
 private unsafe void ScalarsEnd()
 {
     if (!this.writingScalars)
     {
         return;
     }
     EventSource.EventData *eventDataPtr = this.datas;
     eventDataPtr->m_Size = checked ((int)unchecked ((long)((IntPtr)(this.scratch - checked ((UIntPtr)(ulong)eventDataPtr->m_Ptr)) / 1)));
     this.datas           = eventDataPtr + 1;
     this.writingScalars  = false;
 }
Example #15
0
 public unsafe void Barrier_PhaseFinished(bool currentSense, long phaseNum)
 {
     if (base.IsEnabled(EventLevel.Verbose, EventKeywords.All))
     {
         EventSource.EventData *ptr = stackalloc EventSource.EventData[checked (unchecked ((UIntPtr)2) * (UIntPtr)sizeof(EventSource.EventData))];
         int num = currentSense ? 1 : 0;
         ptr->Size          = 4;
         ptr->DataPointer   = (IntPtr)((void *)(&num));
         ptr[1].Size        = 8;
         ptr[1].DataPointer = (IntPtr)((void *)(&phaseNum));
         base.WriteEventCore(3, 2, ptr);
     }
 }
Example #16
0
 // Token: 0x060034D1 RID: 13521 RVA: 0x000CD7A4 File Offset: 0x000CB9A4
 private unsafe void ScalarsBegin()
 {
     if (!this.writingScalars)
     {
         EventSource.EventData *ptr = this.datas;
         if (this.datasEnd == ptr)
         {
             throw new IndexOutOfRangeException(Environment.GetResourceString("EventSource_DataDescriptorsOutOfRange"));
         }
         ptr->DataPointer    = (IntPtr)((void *)this.scratch);
         this.writingScalars = true;
     }
 }
Example #17
0
 private unsafe void WriteEvent(int eventId, long arg1, bool arg2, bool arg3)
 {
     if (IsEnabled())
     {
         EventSource.EventData *descrs = stackalloc EventSource.EventData[3];
         descrs[0].DataPointer = (IntPtr)(&arg1);
         descrs[0].Size        = 8;
         descrs[1].DataPointer = (IntPtr)(&arg2);
         descrs[1].Size        = 4;
         descrs[2].DataPointer = (IntPtr)(&arg3);
         descrs[2].Size        = 4;
         WriteEventCore(eventId, 3, descrs);
     }
 }
Example #18
0
        private void ScalarsBegin()
        {
            if (!this.writingScalars)
            {
                EventSource.EventData *datasTemp = this.datas;
                if (this.datasEnd <= datasTemp)
                {
                    throw new IndexOutOfRangeException(SR.EventSource_DataDescriptorsOutOfRange);
                }

                datasTemp->DataPointer = (IntPtr)this.scratch;
                this.writingScalars    = true;
            }
        }
Example #19
0
 protected unsafe void WriteEvent(int eventId, int arg1, short arg2, long arg3)
 {
     if (IsEnabled())
     {
         EventSource.EventData *descrs = stackalloc EventSource.EventData[2];
         descrs[0].DataPointer = (IntPtr)(&arg1);
         descrs[0].Size        = 4;
         descrs[1].DataPointer = (IntPtr)(&arg2);
         descrs[1].Size        = 2;
         descrs[2].DataPointer = (IntPtr)(&arg3);
         descrs[2].Size        = 8;
         WriteEventCore(eventId, 3, descrs);
     }
 }
Example #20
0
 private unsafe void ScalarsBegin()
 {
     if (this.writingScalars)
     {
         return;
     }
     EventSource.EventData *eventDataPtr = this.datas;
     if (this.datasEnd <= eventDataPtr)
     {
         throw new IndexOutOfRangeException(Environment.GetResourceString("EventSource_DataDescriptorsOutOfRange"));
     }
     eventDataPtr->m_Ptr = (long)(ulong)(UIntPtr)((void *)this.scratch);
     this.writingScalars = true;
 }
 private unsafe void WriteEvent(int eventId, long arg1, bool arg2, bool arg3)
 {
     if (base.IsEnabled())
     {
         EventSource.EventData *ptr = stackalloc EventSource.EventData[checked (unchecked ((UIntPtr)3) * (UIntPtr)sizeof(EventSource.EventData))];
         ptr->DataPointer   = (IntPtr)((void *)(&arg1));
         ptr->Size          = 8;
         ptr[1].DataPointer = (IntPtr)((void *)(&arg2));
         ptr[1].Size        = 4;
         ptr[2].DataPointer = (IntPtr)((void *)(&arg3));
         ptr[2].Size        = 4;
         base.WriteEventCore(eventId, 3, ptr);
     }
 }
Example #22
0
 public void LogTaskScheduledBad(Guid RelatedActivityId, string message)
 {
     unsafe
     {
         if (message == null)
             message = "";
         fixed(char *string1Bytes = message)
         {
             EventSource.EventData *descrs = stackalloc EventSource.EventData[1];
             descrs[0].DataPointer = (IntPtr)string1Bytes;
             descrs[0].Size        = ((message.Length + 1) * 2);
             WriteEventWithRelatedActivityIdCore(23, &RelatedActivityId, 1, descrs);
         }
     }
 }
Example #23
0
 private unsafe void WriteEvent(int eventId, long arg1, bool arg2, bool arg3)
 {
     if (!this.IsEnabled())
     {
         return;
     }
     EventSource.EventData *data = stackalloc EventSource.EventData[3];
     data->DataPointer   = (IntPtr)((void *)&arg1);
     data->Size          = 8;
     data[1].DataPointer = (IntPtr)((void *)&arg2);
     data[1].Size        = 4;
     data[2].DataPointer = (IntPtr)((void *)&arg3);
     data[2].Size        = 4;
     this.WriteEventCore(eventId, 3, data);
 }
Example #24
0
        public unsafe void Barrier_PhaseFinished(bool currentSense, long phaseNum)
        {
            if (!this.IsEnabled(EventLevel.Verbose, EventKeywords.All))
            {
                return;
            }
            EventSource.EventData *data = stackalloc EventSource.EventData[2];
            int num = currentSense ? 1 : 0;

            data->Size          = 4;
            data->DataPointer   = (IntPtr)((void *)&num);
            data[1].Size        = 8;
            data[1].DataPointer = (IntPtr)((void *)&phaseNum);
            this.WriteEventCore(3, 2, data);
        }
Example #25
0
 public unsafe void EventWithBytePtrArg(uint blobSize, byte *blob, int n)
 {
     if (IsEnabled())
     {
         {
             EventSource.EventData *descrs = stackalloc EventSource.EventData[3];
             descrs[0].DataPointer = (IntPtr)(&blobSize);
             descrs[0].Size        = 4;
             descrs[1].DataPointer = (IntPtr)blob;
             descrs[1].Size        = (int)blobSize;
             descrs[2].Size        = 4;
             descrs[2].DataPointer = (IntPtr)(&n);
             WriteEventCore(2, 3, descrs);
         }
     }
 }
 public unsafe void ParallelLoopEnd(int OriginatingTaskSchedulerID, int OriginatingTaskID, int ForkJoinContextID, long TotalIterations)
 {
     if (base.IsEnabled() && base.IsEnabled(EventLevel.Informational, (EventKeywords)4L))
     {
         EventSource.EventData *ptr = stackalloc EventSource.EventData[checked (unchecked ((UIntPtr)4) * (UIntPtr)sizeof(EventSource.EventData))];
         ptr->Size          = 4;
         ptr->DataPointer   = (IntPtr)((void *)(&OriginatingTaskSchedulerID));
         ptr[1].Size        = 4;
         ptr[1].DataPointer = (IntPtr)((void *)(&OriginatingTaskID));
         ptr[2].Size        = 4;
         ptr[2].DataPointer = (IntPtr)((void *)(&ForkJoinContextID));
         ptr[3].Size        = 8;
         ptr[3].DataPointer = (IntPtr)((void *)(&TotalIterations));
         base.WriteEventCore(2, 4, ptr);
     }
 }
Example #27
0
 public unsafe void ParallelLoopEnd(int OriginatingTaskSchedulerID, int OriginatingTaskID, int ForkJoinContextID, long TotalIterations)
 {
     if (!this.IsEnabled() || !this.IsEnabled(EventLevel.Informational, (EventKeywords)4))
     {
         return;
     }
     EventSource.EventData *data = stackalloc EventSource.EventData[4];
     data->Size          = 4;
     data->DataPointer   = (IntPtr)((void *)&OriginatingTaskSchedulerID);
     data[1].Size        = 4;
     data[1].DataPointer = (IntPtr)((void *)&OriginatingTaskID);
     data[2].Size        = 4;
     data[2].DataPointer = (IntPtr)((void *)&ForkJoinContextID);
     data[3].Size        = 8;
     data[3].DataPointer = (IntPtr)((void *)&TotalIterations);
     this.WriteEventCore(2, 4, data);
 }
Example #28
0
 public void EventWithXferWeirdArgs(Guid RelatedActivityId, IntPtr iptr, bool b, MyLongEnum le /*, decimal dec */)
 {
     unsafe
     {
         EventSource.EventData *descrs = stackalloc EventSource.EventData[4];
         descrs[0].DataPointer = (IntPtr)(&iptr);
         descrs[0].Size        = IntPtr.Size;
         int boolval = b ? 1 : 0;
         descrs[1].DataPointer = (IntPtr)(&boolval);
         descrs[1].Size        = 4;
         descrs[2].DataPointer = (IntPtr)(&le);
         descrs[2].Size        = 8;
         // descrs[3].DataPointer = (IntPtr)(&dec);
         // descrs[3].Size = 16;
         WriteEventWithRelatedActivityIdCore(31, &RelatedActivityId, 3 /*4*/, descrs);
     }
 }
Example #29
0
 internal void Enable(
     byte* scratch,
     int scratchSize,
     EventSource.EventData* datas,
     int dataCount,
     GCHandle* pins,
     int pinCount)
 {
     this.datasStart = datas;
     this.scratchEnd = scratch + scratchSize;
     this.datasEnd = datas + dataCount;
     this.pinsEnd = pins + pinCount;
     this.scratch = scratch;
     this.datas = datas;
     this.pins = pins;
     this.writingScalars = false;
 }
 public unsafe void TaskCompleted(int OriginatingTaskSchedulerID, int OriginatingTaskID, int TaskID, bool IsExceptional)
 {
     if (base.IsEnabled(EventLevel.Informational, (EventKeywords)2L))
     {
         EventSource.EventData *ptr = stackalloc EventSource.EventData[checked (unchecked ((UIntPtr)4) * (UIntPtr)sizeof(EventSource.EventData))];
         int num = IsExceptional ? 1 : 0;
         ptr->Size          = 4;
         ptr->DataPointer   = (IntPtr)((void *)(&OriginatingTaskSchedulerID));
         ptr[1].Size        = 4;
         ptr[1].DataPointer = (IntPtr)((void *)(&OriginatingTaskID));
         ptr[2].Size        = 4;
         ptr[2].DataPointer = (IntPtr)((void *)(&TaskID));
         ptr[3].Size        = 4;
         ptr[3].DataPointer = (IntPtr)((void *)(&num));
         base.WriteEventCore(9, 4, ptr);
     }
 }
Example #31
0
 // helper overload of WriteEvent for optimizing writing an event containing
 // payload properties that don't align with a provided overload. This prevents
 // EventSource from using the object[] overload which is expensive.
 protected unsafe void WriteEvent(int eventId, int arg1, short arg2, long arg3)
 {
     if (IsEnabled())
     {
         EventSource.EventData *descrs = stackalloc EventSource.EventData[3];
         descrs[0] = new EventData {
             DataPointer = (IntPtr)(&arg1), Size = 4
         };
         descrs[1] = new EventData {
             DataPointer = (IntPtr)(&arg2), Size = 2
         };
         descrs[2] = new EventData {
             DataPointer = (IntPtr)(&arg3), Size = 8
         };
         WriteEventCore(eventId, 3, descrs);
     }
 }
Example #32
0
        private void PinArray(object value, int size)
        {
            var pinsTemp = this.pins;
            if (this.pinsEnd <= pinsTemp)
            {
#if PROJECTN
                throw new IndexOutOfRangeException(SR.GetResourceString("EventSource_PinArrayOutOfRange", null));
#else
                throw new IndexOutOfRangeException(Environment.GetResourceString("EventSource_PinArrayOutOfRange"));
#endif
            }

            var datasTemp = this.datas;
            if (this.datasEnd <= datasTemp)
            {
#if PROJECTN
                throw new IndexOutOfRangeException(SR.GetResourceString("EventSource_DataDescriptorsOutOfRange", null));
#else
                throw new IndexOutOfRangeException(Environment.GetResourceString("EventSource_DataDescriptorsOutOfRange"));
#endif
            }

            this.pins = pinsTemp + 1;
            this.datas = datasTemp + 1;

            *pinsTemp = GCHandle.Alloc(value, GCHandleType.Pinned);
            datasTemp->m_Ptr = (long)(ulong)(UIntPtr)(void*)pinsTemp->AddrOfPinnedObject();
            datasTemp->m_Size = size;
        }
Example #33
0
 private void ScalarsEnd()
 {
     if (this.writingScalars)
     {
         var datasTemp = this.datas;
         datasTemp->m_Size = checked((int)(this.scratch - (byte*)datasTemp->m_Ptr));
         this.datas = datasTemp + 1;
         this.writingScalars = false;
     }
 }