# IPropertyPage::Apply

Applies the current values to the underlying objects associated with the property page as previously passed to IPropertyPage::SetObjects.

HRESULT Apply(void);

Return Values

This method supports the standard return values E_OUTOFMEMORY and

E_UNEXPECTED, as well as the following:

S_OK
  Changes were successfully applied and the property page is current with the underlying objects.
S_FALSE
  Changes were applied, but the property page cannot determine if its state is current with the objects.

Remarks

The objects to be changed are provided through a previous call to IPropertyPage::SetObjects. By calling IPropertyPage::SetObjects prior to calling this method, the caller ensures that all underlying objects have the correct interfaces through which to communicate changes. Therefore, this method should not fail because of non-existent interfaces.

After applying its values, the property page should determine if its state is now current with the objects in order to properly implement IPropertyPage::IsPageDirty and to provide both S_OK and S_FALSE return values.

#### Notes to Implementers

E_NOTIMPL is not a valid return value.

See Also

IPropertyPage::IsPageDirty, IPropertyPage::SetObjects