Issuing NVMe Read command via DeviceIoControl
<p>I'm trying to read 1 block of data from my NVMe SSD.  I'm setting up the NVMeCmd as followings:</p>

<pre><code>NVMeCmd[0] = 2;  //OPC = 2 for I/O Read
NVMeCmd[1] = 1;  //NSID = 1
NVMeCmd[6] = &amp;pMyBuffer[0];  //Set PRP1 to address of buffer
NVMeCmd[10] = 0;  //Start LBA = 0
NVMeCmd[12] = 0;  //1-block read (it is 0-based counting)
</code></pre>

<p>I also set the QueueID = 1 in the NVME_PASS_THROUGH_IOCTL structure (I have verified I have 11 I/O Submission queues and 1 I/O completion queue.  </p>

<p>BUT everytime I issue this command to DeviceIoControl, ::GetLastError() returns 0x45D (i.e. "The request could not be perfrom due to a device I/O error).</p>

<p>Thanxs for any help!</p>