# IPropertyPage::SetPageSite

Initializes a property page and provides the property page object with the IPropertyPageSite interface through which the property page communicates with the property frame.

HRESULT SetPageSite(

IPropertyPageSite *pPageSite | //Pointer to the site object
); |

Parameters

pPageSite
  [in] Pointer to the IPropertyPageSite interface of the page site that manages and provides services to this property page within the entire property sheet.

Return Values

This method supports the standard return values E_OUTOFMEMORY and E_UNEXPECTED, as well as the following:

S_OK
  The page site was saved and the page object was fully initialized.

Remarks

#### Notes to Implementers

If the pPageSite parameter is NULL, this method must call `pPageSite->Release` on any IPropertyPageSite pointer passed during a previous call to this method. If non-NULL, this method must save the IPropertyPageSite pointer value and call `pPageSite->AddRef`. Two consecutive calls to this method with a non-NULL site pointer are not allowed and should cause the property page to return E_UNEXPECTED.

E_NOTIMPL is not a valid return value. All property pages must implement this method.

See Also

IPropertyPageSite