<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
  <CodeSnippet Format="1.0.0">
    <Header>
      <Title>C#: Test for Out Of Memory using Unsafe Code</Title>
      <Shortcut>C#:TestforOutOfMemoryusingUnsafeCode</Shortcut>
      <Description>C#: Test for Out Of Memory using Unsafe Code [C#]</Description>
      <Author>Damon Carr</Author>
      <HelpUrl>/PreviewSnippet.aspx?SnippetID=76d00e81-370a-4dbb-a25f-815a51128678</HelpUrl>
      <SnippetTypes>
        <SnippetType>SurroundsWith</SnippetType>
      </SnippetTypes>
    </Header>
    <Snippet>
      <Code Language="csharp"><![CDATA[using System;
using System.Runtime.InteropServices;
public unsafe class Memory
{
	// Heap API flags
	const int HEAP_ZERO_MEMORY = 0x00000008;
	static int ph = GetProcessHeap();
    
	public static void* Alloc(int size) 
	{
		void* result = HeapAlloc(ph, HEAP_ZERO_MEMORY, size);
		if (result == null) 
			throw new OutOfMemoryException();
		return result;
	}
}
]]></Code>
    </Snippet>
  </CodeSnippet>
</CodeSnippets>