System.Web.HttpResponseStream.WritePtr C# (CSharp) Method

WritePtr() public method

public WritePtr ( IntPtr ptr, int length ) : void
ptr System.IntPtr
length int
return 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

Example #1
0
 internal void WriteUTF8Ptr(IntPtr ptr, int length)
 {
     output_stream.WritePtr(ptr, length);
 }