PSGetPropertySystem function (propsys.h)

Gets an instance of the subsystem object that implements IPropertySystem.

Syntax

PSSTDAPI PSGetPropertySystem(
  [in]  REFIID riid,
  [out] void   **ppv
);

Parameters

[in] riid

Type: REFIID

Reference to the IID of the requested interface.

[out] ppv

Type: void**

When this function returns, contains the interface pointer requested in riid. This is typically IPropertySystem.

Return value

Type: PSSTDAPI

Returns one of the following values.

Return code Description
S_OK
The interface was obtained.
E_INVALIDARG
The ppv parameter is NULL.

Remarks

You must initialize Component Object Model (COM) with CoInitialize or OleInitialize prior to calling PSGetPropertySystem. COM must remain initialized for the lifetime of this object. The property system object aggregates the free-threaded marshaller and is thread-safe.

We recommend that you use the IID_PPV_ARGS macro defined in Objbase.h to package the riid and ppv parameters. This macro provides the correct IID based on the interface pointed to by the value in ppv, which eliminates the possibility of a coding error.

Examples

The following example, to be included as part of a larger program, demonstrates how to use PSGetPropertySystem.

IPropertySystem *pSystem;

HRESULT hr = PSGetPropertySystem(IID_PPV_ARGS(&pSystem));

if (SUCCEEDED(hr))
{
    // pSystem is now valid.
 
    pSystem->Release();
}

Requirements

Requirement Value
Minimum supported client Windows XP with SP2, Windows Vista [desktop apps only]
Minimum supported server Windows Server 2003 with SP1 [desktop apps only]
Target Platform Windows
Header propsys.h
Library Propsys.lib
DLL Propsys.dll (version 6.0 or later)
Redistributable Windows Desktop Search (WDS) 3.0