Windows Dev Center

MsiRecordSetInteger function

The MsiRecordSetInteger function sets a record field to an integer field.

Syntax


UINT MsiRecordSetInteger(
  _In_ MSIHANDLE    hRecord,
  _In_ unsigned int iField,
  _In_ int          iValue
);

Parameters

hRecord [in]

Handle to the record.

iField [in]

Specifies the field of the record to set.

iValue [in]

Specifies the value to which to set the field.

Return value

ERROR_INVALID_FIELD

An invalid field of the record was supplied.

ERROR_INVALID_HANDLE

An invalid or inactive handle was supplied.

ERROR_INVALID_PARAMETER

An invalid parameter was passed to the function.

ERROR_SUCCESS

The function succeeded.

Remarks

In the MsiRecordSetInteger function, attempting to store a value in a nonexistent field causes an error. Note that the following code returns ERROR_INVALID_PARAMETER.


MSIHANDLE hRecord;
UINT lReturn;  

//create an msirecord with no fields
hRecord = MsiCreateRecord(0); 

//attempting to set the first field's value gives you ERROR_INVALID_PARAMETER 
lReturn = MsiRecordSetInteger(hRecord, 1, 0);  


To set a record integer field to NULL_INTEGER, set iValue to MSI_NULL_INTEGER.

Requirements

Version

Windows Installer 5.0 on Windows Server 2012, Windows 8, Windows Server 2008 R2 or Windows 7. Windows Installer 4.0 or Windows Installer 4.5 on Windows Server 2008 or Windows Vista. Windows Installer on Windows Server 2003 or Windows XP

Header

Msiquery.h

Library

Msi.lib

DLL

Msi.dll

See also

Record Processing Functions

 

 

Community Additions

ADD
Show:
© 2015 Microsoft