コード例 #1
0
        internal void CreateBottomlessPage()
        {
            this.OnBeforeFormatPage(false, false);
            if (TracePageFormatting.IsEnabled)
            {
                TracePageFormatting.Trace(TraceEventType.Start, TracePageFormatting.FormatPage, this.PageContext, this.PtsContext);
            }
            PTS.FSFMTRBL fsfmtrbl;
            IntPtr       value;
            int          num = PTS.FsCreatePageBottomless(this.PtsContext.Context, this._section.Handle, out fsfmtrbl, out value);

            if (num != 0)
            {
                this._ptsPage.Value = IntPtr.Zero;
                PTS.ValidateAndTrace(num, this.PtsContext);
            }
            else
            {
                this._ptsPage.Value = value;
            }
            if (TracePageFormatting.IsEnabled)
            {
                TracePageFormatting.Trace(TraceEventType.Stop, TracePageFormatting.FormatPage, this.PageContext, this.PtsContext);
            }
            this.OnAfterFormatPage(true, false);
            if (fsfmtrbl == PTS.FSFMTRBL.fmtrblInterrupted)
            {
                this.DeferFormattingToBackground();
            }
        }