internal unsafe static void AttachedObjectListFromParagraph(PtsContext ptsContext, IntPtr para, int cAttachedObject, out PTS.FSATTACHEDOBJECTDESCRIPTION[] arrayAttachedObjectDesc) { arrayAttachedObjectDesc = new PTS.FSATTACHEDOBJECTDESCRIPTION[cAttachedObject]; int num; fixed(PTS.FSATTACHEDOBJECTDESCRIPTION *ptr = arrayAttachedObjectDesc) { PTS.Validate(PTS.FsQueryAttachedObjectList(ptsContext.Context, para, cAttachedObject, ptr, out num)); } ErrorHandler.Assert(cAttachedObject == num, ErrorHandler.PTSObjectsCountMismatch); }
// Token: 0x06006B3E RID: 27454 RVA: 0x001EF93C File Offset: 0x001EDB3C internal void UpdateTextContentRangeFromAttachedObjects(TextContentRange textContentRange, int dcpFirst, int dcpLast, PTS.FSATTACHEDOBJECTDESCRIPTION[] arrayAttachedObjectDesc) { int num = dcpFirst; int num2 = 0; while (this._attachedObjects != null && num2 < this._attachedObjects.Count) { AttachedObject attachedObject = this._attachedObjects[num2]; int paragraphStartCharacterPosition = attachedObject.Para.ParagraphStartCharacterPosition; int cch = attachedObject.Para.Cch; if (paragraphStartCharacterPosition >= num && paragraphStartCharacterPosition < dcpLast) { textContentRange.Merge(new TextContentRange(num, paragraphStartCharacterPosition, base.StructuralCache.TextContainer)); num = paragraphStartCharacterPosition + cch; } if (dcpLast < num) { break; } num2++; } if (num < dcpLast) { textContentRange.Merge(new TextContentRange(num, dcpLast, base.StructuralCache.TextContainer)); } int num3 = 0; while (arrayAttachedObjectDesc != null && num3 < arrayAttachedObjectDesc.Length) { PTS.FSATTACHEDOBJECTDESCRIPTION fsattachedobjectdescription = arrayAttachedObjectDesc[num3]; BaseParaClient baseParaClient = base.PtsContext.HandleToObject(arrayAttachedObjectDesc[num3].pfsparaclient) as BaseParaClient; PTS.ValidateHandle(baseParaClient); textContentRange.Merge(baseParaClient.GetTextContentRange()); num3++; } }