MsiRecordSetStream function

The MsiRecordSetStream function sets a record stream field from a file. Stream data cannot be inserted into temporary fields.

Syntax


UINT MsiRecordSetStream(
  _In_  MSIHANDLE hRecord,
  _In_  UNIT iField,
  _In_  LPCTSTR szFilePath
);

Parameters

hRecord [in]

Handle to the record.

iField [in]

Specifies the field of the record to set.

szFilePath [in]

Specifies the path to the file containing the stream.

Return value

The MsiRecordSetStream function returns the following values:

ERROR_BAD_PATHNAME

An invalid path was supplied.

ERROR_FUNCTION_FAILED

The function failed.

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

The contents of the file specified in the MsiRecordSetStream function is read into a stream object. The stream persists if the record is inserted into the database and the database is committed.

To reset the stream to its beginning you must pass in a Null pointer for szFilePath. Do not pass a pointer to an empty string, "", to reset the stream.

See also OLE Limitations on Streams.

If the function fails, you can obtain extended error information by using MsiGetLastErrorRecord.

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

Unicode and ANSI names

MsiRecordSetStreamW (Unicode) and MsiRecordSetStreamA (ANSI)

See also

Record Processing Functions

 

 

Community Additions

ADD
Show:
© 2014 Microsoft