System.Web.HttpResponseStream.WritePtr C# (CSharp) 메소드

WritePtr() 공개 메소드

public WritePtr ( IntPtr ptr, int length ) : void
ptr System.IntPtr
length int
리턴 void
		public void WritePtr (IntPtr ptr, int length)
		{
			if (length == 0)
				return;

			bool buffering = response.BufferOutput;

			if (buffering) {
				// It does not matter whether we're in ApplyFilter or not
				AppendBuffer (ptr, length);
			} else if (filter == null || filtering) {
				response.WriteHeaders (false);
				HttpWorkerRequest wr = response.WorkerRequest;
				// Direct write because not buffering
				wr.SendResponseFromMemory (ptr, length);
				wr.FlushResponse (false);
			} else {
				// Write to the filter, which will call us back, and then Flush
				filtering = true;
				try {
					byte [] bytes = new byte [length];
					Marshal.Copy (ptr, bytes, 0, length);
					filter.Write (bytes, 0, length);
					bytes = null;
				} finally {
					filtering = false;
				}
				Flush (response.WorkerRequest, false);
			}

		}

Usage Example

예제 #1
0
파일: HttpWriter.cs 프로젝트: raj581/Marvin
 internal void WriteUTF8Ptr(IntPtr ptr, int length)
 {
     output_stream.WritePtr(ptr, length);
 }