NtOpenFile. Duplicated mostly from NtCreateFile's implementation. Probably wrong.