msi:MsiGetLanguage

Aric Stewart aric at codeweavers.com
Fri Jul 8 12:17:49 CDT 2005


Implement MsiGetLanguage
-------------- next part --------------
Index: dlls/msi/msi.spec
===================================================================
RCS file: /home/wine/wine/dlls/msi/msi.spec,v
retrieving revision 1.38
diff -u -r1.38 msi.spec
--- dlls/msi/msi.spec	10 Jun 2005 19:52:13 -0000	1.38
+++ dlls/msi/msi.spec	8 Jul 2005 17:17:11 -0000
@@ -60,7 +60,7 @@
 60 stdcall MsiGetFeatureUsageW(wstr wstr ptr ptr)
 61 stub MsiGetFeatureValidStatesA
 62 stub MsiGetFeatureValidStatesW
-63 stub MsiGetLanguage
+63 stdcall MsiGetLanguage(long)
 64 stdcall MsiGetMode(long long)
 65 stdcall MsiGetProductCodeA(str str)
 66 stdcall MsiGetProductCodeW(wstr wstr)
Index: dlls/msi/install.c
===================================================================
RCS file: /home/wine/wine/dlls/msi/install.c,v
retrieving revision 1.2
diff -u -r1.2 install.c
--- dlls/msi/install.c	17 Jun 2005 21:25:51 -0000	1.2
+++ dlls/msi/install.c	8 Jul 2005 17:17:11 -0000
@@ -585,3 +585,26 @@
     msiobj_release( &package->hdr );
     return ret;
 }
+
+/***********************************************************************
+ * MsiGetLanguage (MSI.@)
+ */
+LANGID WINAPI MsiGetLanguage(MSIHANDLE hInstall)
+{
+    MSIPACKAGE* package;
+    LANGID langid;
+    LPWSTR buffer;
+    static const WCHAR szProductLanguage[] =
+        {'P','r','o','d','u','c','t','L','a','n','g','u','a','g','e',0};
+    
+    package = msihandle2msiinfo(hInstall, MSIHANDLETYPE_PACKAGE);
+    if (!package)
+        return ERROR_INVALID_HANDLE;
+
+    buffer = load_dynamic_property(package,szProductLanguage,NULL);
+    langid = atoiW(buffer);
+
+    HeapFree(GetProcessHeap(),0,buffer);
+    msiobj_release (&package->hdr);
+    return langid;
+}


More information about the wine-patches mailing list