msi: Add an internal MSI_ViewModify.

oldstable
James Hawkins 2007-04-21 06:55:24 -05:00 committed by Alexandre Julliard
parent 1cdc057091
commit 2b4bf44b79
2 changed files with 16 additions and 16 deletions

View File

@ -619,6 +619,7 @@ extern UINT MSI_ViewExecute( MSIQUERY*, MSIRECORD * );
extern UINT MSI_ViewFetch( MSIQUERY*, MSIRECORD ** );
extern UINT MSI_ViewClose( MSIQUERY* );
extern UINT MSI_ViewGetColumnInfo(MSIQUERY *, MSICOLINFO, MSIRECORD **);
extern UINT MSI_ViewModify( MSIQUERY *, MSIMODIFY, MSIRECORD * );
extern UINT VIEW_find_column( MSIVIEW *, LPCWSTR, UINT * );

View File

@ -552,10 +552,23 @@ UINT WINAPI MsiViewGetColumnInfo(MSIHANDLE hView, MSICOLINFO info, MSIHANDLE *hR
return r;
}
UINT MSI_ViewModify( MSIQUERY *query, MSIMODIFY mode, MSIRECORD *rec )
{
MSIVIEW *view = NULL;
if ( !query || !rec )
return ERROR_INVALID_HANDLE;
view = query->view;
if ( !view || !view->ops->modify)
return ERROR_FUNCTION_FAILED;
return view->ops->modify( view, mode, rec );
}
UINT WINAPI MsiViewModify( MSIHANDLE hView, MSIMODIFY eModifyMode,
MSIHANDLE hRecord)
{
MSIVIEW *view = NULL;
MSIQUERY *query = NULL;
MSIRECORD *rec = NULL;
UINT r = ERROR_FUNCTION_FAILED;
@ -566,23 +579,9 @@ UINT WINAPI MsiViewModify( MSIHANDLE hView, MSIMODIFY eModifyMode,
if( !query )
return ERROR_INVALID_HANDLE;
view = query->view;
if( !view )
goto out;
if( !view->ops->modify )
goto out;
rec = msihandle2msiinfo( hRecord, MSIHANDLETYPE_RECORD );
if( !rec )
{
r = ERROR_INVALID_HANDLE;
goto out;
}
r = MSI_ViewModify( query, eModifyMode, rec );
r = view->ops->modify( view, eModifyMode, rec );
out:
msiobj_release( &query->hdr );
if( rec )
msiobj_release( &rec->hdr );