advapi32: Add stub FileEncryptionStatus and declarations (take 3)

Paul Chitescu paulc at voip.null.ro
Fri May 19 08:19:18 CDT 2006


ChangeLog: stub FileEncryptionStatus and winbase.h declarations

XP and 2000+ function required by GoogleDesktop 4.0 to check user 
preferences and index files.

I also fished the 'net for the encryption status constants - thanks to 
FreePascal guys for providing them in jwawinbase.pas and to Google for 
finding them ;-)

The patch is built on 0.9.10 but applies (with some offsets) to CVS 
version.

Paul Chitescu

P.S. This is second attempt of second version - after noticing I did not 
format the subject properly in the previous mail. I aplologise for 
resending.

P.P.S. Third version - fixme message includes (parameters): stub
-------------- next part --------------
diff -ru wine-0.9.10-orig/dlls/advapi32/advapi32.spec wine-0.9.10/dlls/advapi32/advapi32.spec
--- wine-0.9.10-orig/dlls/advapi32/advapi32.spec	2006-03-15 16:50:30.000000000 +0200
+++ wine-0.9.10/dlls/advapi32/advapi32.spec	2006-05-16 21:58:39.000000000 +0300
@@ -217,8 +217,8 @@
 # @ stub EqualDomainSid
 @ stdcall EqualPrefixSid(ptr ptr)
 @ stdcall EqualSid(ptr ptr)
-# @ stub FileEncryptionStatusA
-# @ stub FileEncryptionStatusW
+@ stdcall FileEncryptionStatusA(str ptr)
+@ stdcall FileEncryptionStatusW(wstr ptr)
 @ stdcall FindFirstFreeAce(ptr ptr)
 # @ stub FlushTraceA
 # @ stub FlushTraceW
diff -ru wine-0.9.10-orig/dlls/advapi32/security.c wine-0.9.10/dlls/advapi32/security.c
--- wine-0.9.10-orig/dlls/advapi32/security.c	2006-03-15 16:50:30.000000000 +0200
+++ wine-0.9.10/dlls/advapi32/security.c	2006-05-19 16:07:04.000000000 +0300
@@ -3399,6 +3399,30 @@
 }
 
 /******************************************************************************
+ * FileEncryptionStatusW [ADVAPI32.@]
+ */
+BOOL WINAPI FileEncryptionStatusW(LPCWSTR lpFileName, LPDWORD lpStatus)
+{
+    FIXME("(%s %p): stub\n", debugstr_w(lpFileName), lpStatus);
+    if (!lpStatus)
+        return FALSE;
+    *lpStatus = FILE_SYSTEM_NOT_SUPPORT;
+    return TRUE;
+}
+
+/******************************************************************************
+ * FileEncryptionStatusA [ADVAPI32.@]
+ */
+BOOL WINAPI FileEncryptionStatusA(LPCSTR lpFileName, LPDWORD lpStatus)
+{
+    FIXME("(%s %p): stub\n", debugstr_a(lpFileName), lpStatus);
+    if (!lpStatus)
+        return FALSE;
+    *lpStatus = FILE_SYSTEM_NOT_SUPPORT;
+    return TRUE;
+}
+
+/******************************************************************************
  * SetSecurityInfo [ADVAPI32.@]
  */
 DWORD WINAPI SetSecurityInfo(HANDLE handle, SE_OBJECT_TYPE ObjectType, 
diff -ru wine-0.9.10-orig/include/winbase.h wine-0.9.10/include/winbase.h
--- wine-0.9.10-orig/include/winbase.h	2006-03-15 16:50:45.000000000 +0200
+++ wine-0.9.10/include/winbase.h	2006-05-18 15:41:46.000000000 +0300
@@ -624,6 +624,19 @@
 #define FILE_TYPE_PIPE          3
 #define FILE_TYPE_REMOTE        32768
 
+/* File encryption status - used in XP, 2000 and beyond
+ */
+#define FILE_ENCRYPTABLE         0
+#define FILE_IS_ENCRYPTED        1
+#define FILE_SYSTEM_ATTR         2
+#define FILE_ROOT_DIR            3
+#define FILE_SYSTEM_DIR          4
+#define FILE_UNKNOWN             5
+#define FILE_SYSTEM_NOT_SUPPORT  6
+#define FILE_USER_DISALLOWED     7
+#define FILE_READ_ONLY           8
+#define FILE_DIR_DISALOWED       9
+
 /* File creation flags
  */
 #define FILE_FLAG_WRITE_THROUGH    0x80000000UL
@@ -1384,6 +1397,9 @@
 void        WINAPI FatalAppExitW(UINT,LPCWSTR);
 void        WINAPI FatalExit(int);
 #define     FatalAppExit WINELIB_NAME_AW(FatalAppExit)
+BOOL        WINAPI FileEncryptionStatusA(LPCSTR,LPDWORD);
+BOOL        WINAPI FileEncryptionStatusW(LPCWSTR,LPDWORD);
+#define     FileEncryptionStatus WINELIB_NAME_AW(FileEncryptionStatus)
 BOOL        WINAPI FileTimeToDosDateTime(const FILETIME*,LPWORD,LPWORD);
 BOOL        WINAPI FileTimeToLocalFileTime(const FILETIME*,LPFILETIME);
 BOOL        WINAPI FileTimeToSystemTime(const FILETIME*,LPSYSTEMTIME);


More information about the wine-patches mailing list