diff --git a/dlls/ntdll/om.c b/dlls/ntdll/om.c index d22234f17bd..41f62d50dda 100644 --- a/dlls/ntdll/om.c +++ b/dlls/ntdll/om.c @@ -393,31 +393,26 @@ NTSTATUS WINAPI NtCreateDirectoryObject( * Read information from a namespace directory. * * PARAMS - * DirObjHandle [I] Object handle - * DirObjInformation [O] Buffer to hold the data read + * DirectoryHandle [I] Handle to a directory object + * Buffer [O] Buffer to hold the read data * BufferLength [I] Size of the buffer in bytes - * GetNextIndex [I] Set ObjectIndex to TRUE=next object, FALSE=last object - * IgnoreInputIndex [I] Start reading at index TRUE=0, FALSE=ObjectIndex - * ObjectIndex [I/O] 0 based index into the directory, see IgnoreInputIndex and GetNextIndex - * DataWritten [O] Caller supplied storage for the number of bytes written (or NULL) + * ReturnSingleEntry [I] If TRUE, return a single entry, if FALSE, return as many as fit in the buffer + * RestartScan [I] If TRUE, start scanning from the start, if FALSE, scan from Context + * Context [I/O] Indicates what point of the directory the scan is at + * ReturnLength [O] Caller supplied storage for the number of bytes written (or NULL) * * RETURNS * Success: ERROR_SUCCESS. * Failure: An NTSTATUS error code. */ -NTSTATUS WINAPI NtQueryDirectoryObject( - IN HANDLE DirObjHandle, - OUT POBJDIR_INFORMATION DirObjInformation, - IN ULONG BufferLength, - IN BOOLEAN GetNextIndex, - IN BOOLEAN IgnoreInputIndex, - IN OUT PULONG ObjectIndex, - OUT PULONG DataWritten OPTIONAL) +NTSTATUS WINAPI NtQueryDirectoryObject(IN HANDLE DirectoryHandle, OUT PDIRECTORY_BASIC_INFORMATION Buffer, + IN ULONG BufferLength, IN BOOLEAN ReturnSingleEntry, IN BOOLEAN RestartScan, + IN OUT PULONG Context, OUT PULONG ReturnLength OPTIONAL) { - FIXME("(%p,%p,0x%08lx,0x%08x,0x%08x,%p,%p) stub\n", - DirObjHandle, DirObjInformation, BufferLength, GetNextIndex, - IgnoreInputIndex, ObjectIndex, DataWritten); - return 0xc0000000; /* We don't have any. Whatever. (Yet.) */ + FIXME("(%p,%p,0x%08lx,0x%08x,0x%08x,%p,%p), stub\n", DirectoryHandle, Buffer, BufferLength, ReturnSingleEntry, + RestartScan, Context, ReturnLength); + + return STATUS_NOT_IMPLEMENTED; } /* diff --git a/include/winternl.h b/include/winternl.h index 006b9c6bf59..e8e6998cea3 100644 --- a/include/winternl.h +++ b/include/winternl.h @@ -1629,11 +1629,10 @@ typedef enum _KPROFILE_SOURCE { ProfileMaximum } KPROFILE_SOURCE, *PKPROFILE_SOURCE; -typedef struct _OBJDIR_INFORMATION { +typedef struct _DIRECTORY_BASIC_INFORMATION { UNICODE_STRING ObjectName; UNICODE_STRING ObjectTypeName; - BYTE Data[1]; -} OBJDIR_INFORMATION, *POBJDIR_INFORMATION; +} DIRECTORY_BASIC_INFORMATION, *PDIRECTORY_BASIC_INFORMATION; typedef struct _INITIAL_TEB { PVOID StackBase; @@ -1811,7 +1810,7 @@ NTSTATUS WINAPI NtQueryAttributesFile(const OBJECT_ATTRIBUTES*,FILE_BASIC_INFOR NTSTATUS WINAPI NtQueryDefaultLocale(BOOLEAN,LCID*); NTSTATUS WINAPI NtQueryDefaultUILanguage(LANGID*); NTSTATUS WINAPI NtQueryDirectoryFile(HANDLE,HANDLE,PIO_APC_ROUTINE,PVOID,PIO_STATUS_BLOCK,PVOID,ULONG,FILE_INFORMATION_CLASS,BOOLEAN,PUNICODE_STRING,BOOLEAN); -NTSTATUS WINAPI NtQueryDirectoryObject(HANDLE,POBJDIR_INFORMATION,ULONG,BOOLEAN,BOOLEAN,PULONG,PULONG); +NTSTATUS WINAPI NtQueryDirectoryObject(HANDLE,PDIRECTORY_BASIC_INFORMATION,ULONG,BOOLEAN,BOOLEAN,PULONG,PULONG); NTSTATUS WINAPI NtQueryEaFile(HANDLE,PIO_STATUS_BLOCK,PVOID,ULONG,BOOLEAN,PVOID,ULONG,PVOID,BOOLEAN); NTSTATUS WINAPI NtQueryEvent(HANDLE,EVENT_INFORMATION_CLASS,PVOID,ULONG,PULONG); NTSTATUS WINAPI NtQueryFullAttributesFile(const OBJECT_ATTRIBUTES*,FILE_NETWORK_OPEN_INFORMATION*);