Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

78 lines
1.7 KiB

/*++
Copyright (c) 1997 Microsoft Corporation
Module Name:
product.c
Abstract:
This file implements common setup routines for fax.
Author:
Mooly Beery (MoolyB) 16-Aug-2000
Environment:
User Mode
--*/
#include <SetupUtil.h>
#include <MsiQuery.h>
//
//
// Function: PrivateMsiGetProperty
// Description: Gets a property from Windows Installer API
// In case of failure , returns FALSE
// In case of success , returns TRUE
// GetLastError() to get the error code in case of failure.
//
// Remarks:
//
//
// Author: MoolyB
BOOL PrivateMsiGetProperty
(
MSIHANDLE hInstall, // installer handle
LPCTSTR szName, // property identifier, case-sensitive
LPTSTR szValueBuf // buffer for returned property value
)
{
UINT uiRet = ERROR_SUCCESS;
int iCount = 0;
DWORD cchValue = MAX_PATH;
DBG_ENTER(TEXT("PrivateMsiGetProperty"));
uiRet = MsiGetProperty(hInstall,szName,szValueBuf,&cchValue);
if (uiRet==ERROR_SUCCESS && (iCount=_tcslen(szValueBuf)))
{
VERBOSE( DBG_MSG,
_T("MsiGetProperty:%s returned %s."),
szName,
szValueBuf);
}
else if (iCount==0)
{
VERBOSE(GENERAL_ERR,
_T("MsiGetProperty:%s returned an empty string."),
szName);
SetLastError(ERROR_INVALID_PARAMETER);
return FALSE;
}
else
{
VERBOSE(GENERAL_ERR,
_T("MsiGetProperty:%s failed (ec: %ld)."),
szName,
uiRet);
SetLastError(uiRet);
return FALSE;
}
return TRUE;
}