title: Vulkan - instance creation fails when loading extensions
body: <p>I run into some problems creating a basic Vulkan application: When trying to create an instance it fails, as soon as I tried to load any extensions via ppEnableExtensionNames. If <code>ppEnableExtensionNames</code> is <code>NULL</code>, the instance creation succeeds (quite pointles though, since I cant create a surface that way).</p>
  
  <p>I double checked with different tutorials and couldnt find any mistakes. I installed the SDK and checked for the vulkan-1.dll, as well as running the cube demo successfully. Furthermore I enumerated through available extensions and all extensions I tried to load were listed, so my device should basically support them.</p>
  
  <p>Heres my Code, breaks at <code>vkCreateInstance</code> as long as <code>ppEnableExtensionNames != NULL</code>.
  EDIT: Even though I solved this problem meanwhile, I changed the code to what caused the actual problems, in case anyone makes the same stupid mistake.</p>
  
  <pre><code>    #define VK_USE_PLATFORM_WIN32_KHR
  
  
      //STD
      #include &lt;Windows.h&gt;
      #include &lt;iostream&gt;
      #include &lt;string&gt;
      #include &lt;vector&gt;
  
      //NON-STD Libraries
      #include "vulkan\vulkan.h"
  
  
  
      //==================
      //Window Reference
      //==================
      WNDCLASSEX window;
      MSG msg;
      HWND hwnd;         
      HDC hdc;            
  
  
  
      //===================
      //SETUP VULKAN
      //===================
  
      //Global VK Variables
      VkInstance instance;
      VkPhysicalDevice physDevice;        
      VkApplicationInfo appInfo = {};
      VkInstanceCreateInfo instanceInfo = {};
  
  
      void loadExtensions{
  
  std::vector&lt;const char *&gt; enabledExtensions;
          enabledExtensions.push_back(VK_KHR_SURFACE_EXTENSION_NAME);
          enabledExtensions.push_back(VK_KHR_WIN32_SURFACE_EXTENSION_NAME);
  
          instanceInfo.enabledExtensionCount = enabledExtensions.size();
          instanceInfo.ppEnabledExtensionNames = &amp;enabledExtensions[0];
  
  }
  
  
      //==================
      //WinMain, Entry Point
      //==================
      int WINAPI WinMain(HINSTANCE hinstance, HINSTANCE hprevinstance, LPSTR lpcmdline, int nshowcmd) {
  
  
          appInfo.sType = VK_STRUCTURE_TYPE_APPLICATION_INFO;
          appInfo.pNext = NULL;
          appInfo.pApplicationName = "Monody";
          appInfo.applicationVersion = VK_MAKE_VERSION(0, 0, 0);
          appInfo.pEngineName = "Monody Engine";
          appInfo.engineVersion = VK_MAKE_VERSION(0, 0, 0);
          appInfo.apiVersion = VK_API_VERSION_1_0;
  
          instanceInfo.sType = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO;
          instanceInfo.pNext = NULL;
          instanceInfo.flags = 0;
          instanceInfo.pApplicationInfo = &amp;appInfo;
          instanceInfo.enabledLayerCount = 0;
          instanceInfo.ppEnabledLayerNames = NULL;
          instanceInfo.enabledExtensionCount = 0;
          instanceInfo.ppEnabledExtensionNames = NULL;
  
  
      loadExtensions();
  
  
          //Create Instance
          VkResult error = vkCreateInstance(&amp;instanceInfo, nullptr, &amp;instance);
  
  
  
  
          return 0;
  
      }
  </code></pre>