<div dir="ltr"><div>First of all, pardon my ignorance, I am new to wine and winapi.</div><div><br></div>I am trying to implement apphelp.dll and I ran into issues with NtCreateFile: It always returns 0xc0000103, STATUS_NOT_A_DIRECTORY, and I am not sure what that means. Here is code:<div>
<br></div><div>/* This function is not in API, but written for internal use */</div><div><div>HANDLE WINAPI SdbOpenFile( LPCWSTR path, PATH_TYPE type )</div><div>{</div><div><span style="white-space:pre">        </span><span style="white-space:pre">/* SNIP */</span></div>
<div><span class="" style="white-space:pre">    </span>if (type == DOS_PATH)</div><div><span class="" style="white-space:pre">              </span>if (!RtlDosPathNameToNtPathName_U(path, &str, NULL, NULL))</div><div><span class="" style="white-space:pre">                     </span>return NULL;</div>
<div><span class="" style="white-space:pre">    </span></div><div><span class="" style="white-space:pre">   </span>InitializeObjectAttributes(&attr, &str, OBJ_CASE_INSENSITIVE, NULL, NULL);</div><div><span class="" style="white-space:pre"> </span></div>
<div><span class="" style="white-space:pre">    </span>status = NtCreateFile(&file, GENERIC_READ | SYNCHRONIZE | FILE_READ_ATTRIBUTES,</div><div><span class="" style="white-space:pre">                                </span> � � � � �&attr, &io, NULL, FILE_ATTRIBUTE_NORMAL, FILE_SHARE_READ,</div>
<div><span class="" style="white-space:pre">                            </span> � � � � �FILE_OPEN, FILE_DIRECTORY_FILE, NULL, 0);</div><div><span style="white-space:pre">   /* SNIP */</span><br></div><div><span class="" style="white-space:pre">       </span>return file;</div>
<div>}</div></div><div><br></div><div>Function is called like this:</div><div><br></div><div><div><span class="" style="white-space:pre">       </span>WCHAR szFileName[1024] = {0};</div><div><span class="" style="white-space:pre">      </span>ExpandEnvironmentStringsW(L"%SystemRoot%\\sample.sdb", szFileName, 1024); // for testing purposes</div>
<div><span class="" style="white-space:pre">    </span>SdbOpenFile(szFileName, DOS_PATH);</div></div><div><br></div><div>Compiled with winegcc.</div><div>I am sure that C:\windows\sample.sdb exists. What am I doing wrong?</div>
</div>