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