Implement MsiGetFeatureUsageA and MsiUseFeature(Ex)A using their W
versions.
This commit is contained in:
parent
d693f461ba
commit
13fee293ba
|
@ -1376,6 +1376,9 @@ HRESULT WINAPI DllCanUnloadNow(void)
|
|||
return S_FALSE;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* MsiGetFeatureUsageW [MSI.@]
|
||||
*/
|
||||
UINT WINAPI MsiGetFeatureUsageW( LPCWSTR szProduct, LPCWSTR szFeature,
|
||||
DWORD* pdwUseCount, WORD* pwDateUsed )
|
||||
{
|
||||
|
@ -1384,14 +1387,38 @@ UINT WINAPI MsiGetFeatureUsageW(LPCWSTR szProduct, LPCWSTR szFeature,
|
|||
return ERROR_CALL_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* MsiGetFeatureUsageA [MSI.@]
|
||||
*/
|
||||
UINT WINAPI MsiGetFeatureUsageA( LPCSTR szProduct, LPCSTR szFeature,
|
||||
DWORD* pdwUseCount, WORD* pwDateUsed )
|
||||
{
|
||||
FIXME("%s %s %p %p\n", debugstr_a(szProduct), debugstr_a(szFeature),
|
||||
LPWSTR prod = NULL, feat = NULL;
|
||||
UINT ret = ERROR_OUTOFMEMORY;
|
||||
|
||||
TRACE("%s %s %p %p\n", debugstr_a(szProduct), debugstr_a(szFeature),
|
||||
pdwUseCount, pwDateUsed);
|
||||
return ERROR_CALL_NOT_IMPLEMENTED;
|
||||
|
||||
prod = strdupAtoW( szProduct );
|
||||
if (szProduct && !prod)
|
||||
goto end;
|
||||
|
||||
feat = strdupAtoW( szFeature );
|
||||
if (szFeature && !feat)
|
||||
goto end;
|
||||
|
||||
ret = MsiGetFeatureUsageW( prod, feat, pdwUseCount, pwDateUsed );
|
||||
|
||||
end:
|
||||
msi_free( prod );
|
||||
msi_free( feat );
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* MsiUseFeatureExW [MSI.@]
|
||||
*/
|
||||
INSTALLSTATE WINAPI MsiUseFeatureExW( LPCWSTR szProduct, LPCWSTR szFeature,
|
||||
DWORD dwInstallMode, DWORD dwReserved )
|
||||
{
|
||||
|
@ -1415,10 +1442,27 @@ INSTALLSTATE WINAPI MsiUseFeatureExW(LPCWSTR szProduct, LPCWSTR szFeature,
|
|||
INSTALLSTATE WINAPI MsiUseFeatureExA( LPCSTR szProduct, LPCSTR szFeature,
|
||||
DWORD dwInstallMode, DWORD dwReserved )
|
||||
{
|
||||
FIXME("%s %s %li %li\n", debugstr_a(szProduct), debugstr_a(szFeature),
|
||||
INSTALLSTATE ret = INSTALLSTATE_UNKNOWN;
|
||||
LPWSTR prod = NULL, feat = NULL;
|
||||
|
||||
TRACE("%s %s %li %li\n", debugstr_a(szProduct), debugstr_a(szFeature),
|
||||
dwInstallMode, dwReserved);
|
||||
|
||||
return INSTALLSTATE_LOCAL;
|
||||
prod = strdupAtoW( szProduct );
|
||||
if (szProduct && !prod)
|
||||
goto end;
|
||||
|
||||
feat = strdupAtoW( szFeature );
|
||||
if (szFeature && !feat)
|
||||
goto end;
|
||||
|
||||
ret = MsiUseFeatureExW( prod, feat, dwInstallMode, dwReserved );
|
||||
|
||||
end:
|
||||
msi_free( prod );
|
||||
msi_free( feat );
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
INSTALLSTATE WINAPI MsiUseFeatureW( LPCWSTR szProduct, LPCWSTR szFeature )
|
||||
|
@ -1430,9 +1474,26 @@ INSTALLSTATE WINAPI MsiUseFeatureW(LPCWSTR szProduct, LPCWSTR szFeature)
|
|||
|
||||
INSTALLSTATE WINAPI MsiUseFeatureA( LPCSTR szProduct, LPCSTR szFeature )
|
||||
{
|
||||
FIXME("%s %s\n", debugstr_a(szProduct), debugstr_a(szFeature));
|
||||
INSTALLSTATE ret = INSTALLSTATE_UNKNOWN;
|
||||
LPWSTR prod = NULL, feat = NULL;
|
||||
|
||||
return INSTALLSTATE_LOCAL;
|
||||
TRACE("%s %s\n", debugstr_a(szProduct), debugstr_a(szFeature) );
|
||||
|
||||
prod = strdupAtoW( szProduct );
|
||||
if (szProduct && !prod)
|
||||
goto end;
|
||||
|
||||
feat = strdupAtoW( szFeature );
|
||||
if (szFeature && !feat)
|
||||
goto end;
|
||||
|
||||
ret = MsiUseFeatureW( prod, feat );
|
||||
|
||||
end:
|
||||
msi_free( prod );
|
||||
msi_free( feat );
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
UINT WINAPI MsiProvideQualifiedComponentExW(LPCWSTR szComponent,
|
||||
|
|
Loading…
Reference in New Issue