Share via


CreateChangeLog method

Creates a change log for a markup container and registers the change log to receive notice of any changes that take place in the container.

Syntax

HRESULT retVal = object.CreateChangeLog(pChangeSink, ppChangeLog, fForward, fBackward);

Parameters

  • pChangeSink [in]
    Type: IHTMLChangeSink

    Pointer to an IHTMLChangeSink interface used to pass notifications to the change log.

  • ppChangeLog [out]
    Type: IHTMLChangeLog

    Address of a pointer that receives an IHTMLChangeLog interface pointer for the change log for this markup container.

  • fForward [in]
    Type: BOOL

    Pointer to a variable of type BOOL that specifies TRUE to request forward information in your change log; FALSE otherwise.

  • fBackward [in]
    Type: BOOL

    Pointer to a variable of type BOOL that specifies TRUE to request backward information in your change log; FALSE otherwise.

Return value

Type: HRESULT

If this method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.

Remarks

To prevent this method from returning an error, set either fForward or fBackward, or both, to TRUE. These two parameters determine the kind of information that is stored in the change log. Forward information lets you replay a change (using IHTMLChangePlayback::ExecChange). Backward information lets you reverse a change.

To stop receiving change notifications, call Release on the IHTMLChangeLog pointer.

An IHTMLChangeLog cannot be shared with more than one IHTMLChangeSink. Each log must correspond to only one sink. In addition, an IHTMLChangeSink shouldn't be shared with more than one IHTMLChangeLog, even though you can. If you do so, the client won't be able to determine from which change log the notification came.