title: How to communicate with GPIO on windows (Win 10) for non raspberry device?
body: <p>I have a motherboard (KINO-DH310) with windows 10, the GPIO controller displays under <strong>Device Manager</strong> -> <strong>System devices</strong> -> <strong>Interl(R) Serial IO GPIO Host Controller</strong>. </p>
  
  <p>How am I supposed to begin simple I/O with this controller? I've tried different strategies, different programming languages, but to no affect. The majority of examples / sample code I see online are for the raspberry pi, and don't seem to work for me. Is there a concept I'm not grasping?</p>
  
  <p><img src="https://i.imgur.com/YgB1YQZ.png" alt="GPIO Controller"></p>
  
  <p>I've tried toggling the output pins to low and high using assembly (from C++ application)</p>
  
  <p><strong>KINO-DH310 recommended assembly:</strong> Digital Output is 1001b</p>
  
  <pre><code>MOV AX, 6F09H ;setting the digital port as output
  MOV BL, 09H   ;digital value is 09H
  INT 15H
  </code></pre>
  
  <p><strong>My C++ Code:</strong></p>
  
  <pre><code>__asm {
  mov AX, 6F09H
  mov BL, 00H
  INT 15H        &lt;--- Generates "Access Violation reading location 0xFFFFFFFF" error
  };
  </code></pre>
  
  <p>This always generates an access violation because you could potentially access memory that would harm the system. Is there a way to suppress this?</p>
  
  <p><strong>My C# Code:</strong></p>
  
  <pre><code>var gpio = GpioController.GetDefault();
  
  if (gpio == null)
      return;      &lt;--- Always returns null
  </code></pre>
  
  <p>Always generates null. I was hoping since I could see it in device manager, Windows could detect it has access to a GPIO Controller.</p>
  
  <p>Any clarification would be greatly appreciated, even if the answer would be Windows doesn't support it (which I'm hoping is not the case)</p>