Andrey Turkin : ntdll: Add stubbed implementations for NtQueryEaFile and NtSetEaFile.
Alexandre Julliard
julliard at winehq.org
Thu Sep 25 07:13:47 CDT 2008
Module: wine
Branch: master
Commit: c425c8a406669fc203a8f77ca3be5216fa4e4160
URL: http://source.winehq.org/git/wine.git/?a=commit;h=c425c8a406669fc203a8f77ca3be5216fa4e4160
Author: Andrey Turkin <andrey.turkin at gmail.com>
Date: Tue Sep 23 21:12:19 2008 +0400
ntdll: Add stubbed implementations for NtQueryEaFile and NtSetEaFile.
---
dlls/ntdll/file.c | 53 +++++++++++++++++++++++++++++++++++++++++++++++++
dlls/ntdll/ntdll.spec | 8 +++---
include/winternl.h | 2 +-
3 files changed, 58 insertions(+), 5 deletions(-)
diff --git a/dlls/ntdll/file.c b/dlls/ntdll/file.c
index ffc2399..3dee4ee 100644
--- a/dlls/ntdll/file.c
+++ b/dlls/ntdll/file.c
@@ -2309,6 +2309,59 @@ NTSTATUS WINAPI NtQueryVolumeInformationFile( HANDLE handle, PIO_STATUS_BLOCK io
/******************************************************************
+ * NtQueryEaFile (NTDLL.@)
+ *
+ * Read extended attributes from NTFS files.
+ *
+ * PARAMS
+ * hFile [I] File handle, must be opened with FILE_READ_EA access
+ * iosb [O] Receives information about the operation on return
+ * buffer [O] Output buffer
+ * length [I] Length of output buffer
+ * single_entry [I] Only read and return one entry
+ * ea_list [I] Optional list with names of EAs to return
+ * ea_list_len [I] Length of ea_list in bytes
+ * ea_index [I] Optional pointer to 1-based index of attribute to return
+ * restart [I] restart EA scan
+ *
+ * RETURNS
+ * Success: 0. Atrributes read into buffer
+ * Failure: An NTSTATUS error code describing the error.
+ */
+NTSTATUS WINAPI NtQueryEaFile( HANDLE hFile, PIO_STATUS_BLOCK iosb, PVOID buffer, ULONG length,
+ BOOLEAN single_entry, PVOID ea_list, ULONG ea_list_len,
+ PULONG ea_index, BOOLEAN restart )
+{
+ FIXME("(%p,%p,%p,%d,%d,%p,%d,%p,%d) stub\n",
+ hFile, iosb, buffer, length, single_entry, ea_list,
+ ea_list_len, ea_index, restart);
+ return STATUS_ACCESS_DENIED;
+}
+
+
+/******************************************************************
+ * NtSetEaFile (NTDLL.@)
+ *
+ * Update extended attributes for NTFS files.
+ *
+ * PARAMS
+ * hFile [I] File handle, must be opened with FILE_READ_EA access
+ * iosb [O] Receives information about the operation on return
+ * buffer [I] Buffer with EA information
+ * length [I] Length of buffer
+ *
+ * RETURNS
+ * Success: 0. Attributes are updated
+ * Failure: An NTSTATUS error code describing the error.
+ */
+NTSTATUS WINAPI NtSetEaFile( HANDLE hFile, PIO_STATUS_BLOCK iosb, PVOID buffer, ULONG length )
+{
+ FIXME("(%p,%p,%p,%d) stub\n", hFile, iosb, buffer, length);
+ return STATUS_ACCESS_DENIED;
+}
+
+
+/******************************************************************
* NtFlushBuffersFile (NTDLL.@)
*
* Flush any buffered data on an open file handle.
diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec
index 617d25d..32a2a73 100644
--- a/dlls/ntdll/ntdll.spec
+++ b/dlls/ntdll/ntdll.spec
@@ -238,7 +238,7 @@
@ stdcall NtQueryDefaultUILanguage(ptr)
@ stdcall NtQueryDirectoryFile(long long ptr ptr ptr ptr long long long ptr long)
@ stdcall NtQueryDirectoryObject(long ptr long long long ptr ptr)
-@ stub NtQueryEaFile
+@ stdcall NtQueryEaFile(long ptr ptr long long ptr long ptr long)
@ stdcall NtQueryEvent(long long ptr long ptr)
@ stdcall NtQueryFullAttributesFile(ptr ptr)
@ stdcall NtQueryInformationAtom(long long ptr long ptr)
@@ -313,7 +313,7 @@
@ stub NtSetDefaultHardErrorPort
@ stdcall NtSetDefaultLocale(long long)
@ stdcall NtSetDefaultUILanguage(long)
-@ stub NtSetEaFile
+@ stdcall NtSetEaFile(long ptr ptr long)
@ stdcall NtSetEvent(long long)
# @ stub NtSetEventBoostPriority
@ stub NtSetHighEventPair
@@ -1082,7 +1082,7 @@
@ stdcall ZwQueryDefaultUILanguage(ptr) NtQueryDefaultUILanguage
@ stdcall ZwQueryDirectoryFile(long long ptr ptr ptr ptr long long long ptr long) NtQueryDirectoryFile
@ stdcall ZwQueryDirectoryObject(long ptr long long long ptr ptr) NtQueryDirectoryObject
-@ stub ZwQueryEaFile
+@ stdcall ZwQueryEaFile(long ptr ptr long long ptr long ptr long) NtQueryEaFile
@ stdcall ZwQueryEvent(long long ptr long ptr) NtQueryEvent
@ stdcall ZwQueryFullAttributesFile(ptr ptr) NtQueryFullAttributesFile
@ stdcall ZwQueryInformationAtom(long long ptr long ptr) NtQueryInformationAtom
@@ -1157,7 +1157,7 @@
@ stub ZwSetDefaultHardErrorPort
@ stdcall ZwSetDefaultLocale(long long) NtSetDefaultLocale
@ stdcall ZwSetDefaultUILanguage(long) NtSetDefaultUILanguage
-@ stub ZwSetEaFile
+@ stdcall ZwSetEaFile(long ptr ptr long) NtSetEaFile
@ stdcall ZwSetEvent(long long) NtSetEvent
# @ stub ZwSetEventBoostPriority
@ stub ZwSetHighEventPair
diff --git a/include/winternl.h b/include/winternl.h
index 04bc3e4..1b1c8d1 100644
--- a/include/winternl.h
+++ b/include/winternl.h
@@ -1966,7 +1966,7 @@ NTSYSAPI NTSTATUS WINAPI NtQueryDefaultLocale(BOOLEAN,LCID*);
NTSYSAPI NTSTATUS WINAPI NtQueryDefaultUILanguage(LANGID*);
NTSYSAPI NTSTATUS WINAPI NtQueryDirectoryFile(HANDLE,HANDLE,PIO_APC_ROUTINE,PVOID,PIO_STATUS_BLOCK,PVOID,ULONG,FILE_INFORMATION_CLASS,BOOLEAN,PUNICODE_STRING,BOOLEAN);
NTSYSAPI NTSTATUS WINAPI NtQueryDirectoryObject(HANDLE,PDIRECTORY_BASIC_INFORMATION,ULONG,BOOLEAN,BOOLEAN,PULONG,PULONG);
-NTSYSAPI NTSTATUS WINAPI NtQueryEaFile(HANDLE,PIO_STATUS_BLOCK,PVOID,ULONG,BOOLEAN,PVOID,ULONG,PVOID,BOOLEAN);
+NTSYSAPI NTSTATUS WINAPI NtQueryEaFile(HANDLE,PIO_STATUS_BLOCK,PVOID,ULONG,BOOLEAN,PVOID,ULONG,PULONG,BOOLEAN);
NTSYSAPI NTSTATUS WINAPI NtQueryEvent(HANDLE,EVENT_INFORMATION_CLASS,PVOID,ULONG,PULONG);
NTSYSAPI NTSTATUS WINAPI NtQueryFullAttributesFile(const OBJECT_ATTRIBUTES*,FILE_NETWORK_OPEN_INFORMATION*);
NTSYSAPI NTSTATUS WINAPI NtQueryInformationAtom(RTL_ATOM,ATOM_INFORMATION_CLASS,PVOID,ULONG,ULONG*);
More information about the wine-cvs
mailing list