title: Why does this call to AddDllDirectory fail with "Parameter is incorrect"?
body: <p>Why does the following code not work?</p>
  
  <pre><code>open System
  open System.Runtime.InteropServices
  open System.ComponentModel
  
  [&lt;DllImport("kernel32")&gt;]
  extern int AddDllDirectory(string NewDirectory)
  
  [&lt;EntryPoint&gt;]
  let main argv = 
      let result = AddDllDirectory("c:\\")
      if result = 0 then
          printfn "%A" &lt;| Win32Exception(Marshal.GetLastWin32Error())
          // Prints: "System.ComponentModel.Win32Exception (0x80004005): The parameter is incorrect"
      System.Console.ReadLine() |&gt; ignore
      0 // return an integer exit code
  </code></pre>