IRawElementProviderSimple::GetPatternProvider Method

Retrieves a pointer to an object that provides support for a control pattern on a Microsoft UI Automation element.

Syntax

HRESULT GetPatternProvider(      
    PATTERNID patternId,
    IUnknown **pRetVal
);

Parameters

  • patternId
    [in] The identifier of the control pattern. For a list of control pattern IDs, see Control Pattern Identifiers.
  • pRetVal
    [out, retval] The address of a variable that receives a pointer to the IUnknown interface of the object that supports the pattern, or NULL if the pattern is not supported. This parameter is passed uninitialized.

Return Value

Returns S_OK if successful, or an error value otherwise.

Example

The following example shows how to return a control pattern provider. In this case, the provider is implemented by the class that implements IRawElementProviderSimple::GetPatternProvider. The UiaIds structure was previously populated by using UiaLookupId.


HRESULT STDMETHODCALLTYPE Provider::GetPatternProvider(PATTERNID patternId, IUnknown** pRetVal)
{
    if (patternId == UiaIds.InvokePattern)
    {
        AddRef();
        *pRetVal =(IUnknown *)(IRawElementProviderSimple*)this;
    }
    else
    {
        *pRetVal = NULL;   
    }
    return S_OK;
}
            

See Also

IRawElementProviderSimple