[2/11] apphelp: Implement SdbCloseDatabase.

Mislav Blazevic krofnica996 at gmail.com
Thu Aug 1 17:23:08 CDT 2013


---
 dlls/apphelp/apphelp.c    | 22 ++++++++++++++++++----
 dlls/apphelp/apphelp.h    |  8 ++++++++
 dlls/apphelp/apphelp.spec |  2 +-
 3 files changed, 27 insertions(+), 5 deletions(-)

diff --git a/dlls/apphelp/apphelp.c b/dlls/apphelp/apphelp.c
index dfc1907..f58fafa 100644
--- a/dlls/apphelp/apphelp.c
+++ b/dlls/apphelp/apphelp.c
@@ -21,7 +21,6 @@
 #include "windef.h"
 #include "winbase.h"
 #include "apphelp.h"
-#include <appcompatapi.h>

 #include "wine/debug.h"

@@ -33,9 +32,6 @@ typedef enum _PATH_TYPE {
     NT_PATH
 } PATH_TYPE;

-/* FIXME: don't know where to place that typedef */
-typedef HANDLE PDB;
-
 BOOL WINAPI DllMain( HINSTANCE hinst, DWORD reason, LPVOID reserved )
 {
     TRACE("%p, %u, %p\n", hinst, reason, reserved);
@@ -78,6 +74,24 @@ BOOL WINAPI ApphelpCheckShellObject( REFCLSID
clsid, BOOL shim, ULONGLONG *flags
 }

 /**************************************************************************
+ *        SdbCloseDatabase                [APPHELP.@]
+ *
+ * Closes specified database and frees its memory
+ *
+ * PARAMS
+ *  db      [I] Handle to the shim database
+ *
+ * RETURNS
+ *  This function does not return a value.
+ */
+void WINAPI SdbCloseDatabase(PDB db)
+{
+    NtClose(db->file);
+    HeapFree(GetProcessHeap(), 0, db->data);
+    HeapFree(GetProcessHeap(), 0, db);
+}
+
+/**************************************************************************
  *        SdbTagToString                [APPHELP.@]
  *
  * Converts specified tag into a string
diff --git a/dlls/apphelp/apphelp.h b/dlls/apphelp/apphelp.h
index f83ee20..0cdd8c6 100644
--- a/dlls/apphelp/apphelp.h
+++ b/dlls/apphelp/apphelp.h
@@ -17,6 +17,14 @@
  */

 typedef WORD TAG;
+typedef DWORD TAGID;
+
+typedef struct _DB {
+    HANDLE file;
+    DWORD size;
+    PBYTE data;
+    TAGID stringtable;
+} DB, *PDB;

 #define TAG_TYPE_MASK 0xF000

diff --git a/dlls/apphelp/apphelp.spec b/dlls/apphelp/apphelp.spec
index 9592029..1de6c25 100644
--- a/dlls/apphelp/apphelp.spec
+++ b/dlls/apphelp/apphelp.spec
@@ -22,7 +22,7 @@
 @ stub SdbApphelpNotifyExSdbApphelpNotifyEx
 @ stub SdbBuildCompatEnvVariables
 @ stub SdbCloseApphelpInformation
-@ stub SdbCloseDatabase
+@ stdcall SdbCloseDatabase(ptr)
 @ stub SdbCloseDatabaseWrite
 @ stub SdbCloseLocalDatabase
 @ stub SdbCommitIndexes
-- 
1.8.3.4



More information about the wine-patches mailing list