Note that there are some explanatory texts on larger screens.

plurals
  1. POwhat is the best way to connect my application with kernel?
    text
    copied!<p>I know this question can be answered by searching in google. But I have spent nights in searching to try make my application connect with my programmed driver. When I start searching I read some Techniques to how to share information between user-mode and kernel-mode and these Techniques are:</p> <p>• I/O requests</p> <p>• Synchronization and notification</p> <p>• Shared handles</p> <p>• Shared memory</p> <p>this <a href="https://web.archive.org/web/20110401190309/http://msdn.microsoft.com/en-us/windows/hardware/gg487414" rel="nofollow">white paper</a> explain these Techniques. But I am confused!!! which technique is the best???? For I/O requests: well..., I don't understand it perfeclty but what I know (briefly) about it that exchange data whenever an application requests an I/O operation, and this <a href="http://msdn.microsoft.com/en-us/library/windows/hardware/ff543023%28v=vs.85%29.aspx" rel="nofollow">msdn article</a> explain I/O control codes.</p> <p>I have read many complex articles, but I don't know the road that lead me to the right way to make my program works fast without delay in exchanging data with the driver.</p> <p>So, I asked : <strong>what is the best way to connect my application with kernel??</strong> And I mean <strong>"the best way"</strong>. This is my driver code:</p> <pre><code>#include &lt;ntddk.h&gt; VOID Unload( IN PDRIVER_OBJECT DriverObject ) { DbgPrint("Driver Unloaded"); }; NTSTATUS DriverEntry( IN PDRIVER_OBJECT DriverObject, IN PUNICODE_STRING RegistryPathName ) { DbgPrint("Driver Loaded"); DriverObject-&gt;DriverUnload = Unload; return STATUS_SUCCESS; }; </code></pre> <p>As you see, the driver is simple. Do nothing except output "Driver loaded" when it load and "Driver unloaded" when it unload. Only I want is make this driver able to receive from the user and print it, make the program receive from the driver and print it. I don't want made code, I just want from you to guide me : what I must to do? and what is the best way to do it?</p> <p>thank you very much</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload