MsiRecordSetStream Function

Windows Installer

MsiRecordSetStream Function

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

Syntax

C++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

VersionWindows Installer 5.0 on 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, Windows XP, and Windows 2000
HeaderMsiquery.h
LibraryMsi.lib
DLLMsi.dll
Unicode and ANSI namesMsiRecordSetStreamW (Unicode) and MsiRecordSetStreamA (ANSI)

See Also

Record Processing Functions

Send comments about this topic to Microsoft

Build date: 8/13/2009

© 2009 Microsoft Corporation. All rights reserved.