Edit

Share via


IDebugProperty3::GetCustomViewerList

Gets a list of custom viewers associated with this property.

Syntax

int GetCustomViewerList(
    uint                  celtSkip,
    uint                  celtRequested,
    DEBUG_CUSTOM_VIEWER[] rgViewers,
    out uint              pceltFetched
);

Parameters

celtSkip
[in] The number of viewers to skip over.

celtRequested
[in] The number of viewers to retrieve (also specifies the size of the rgViewers array).

rgViewers
[in, out] Array of DEBUG_CUSTOM_VIEWER structures to be filled in.

pceltFetched
[out] The actual number of viewers returned.

Return Value

If successful, returns S_OK; otherwise, returns an error code.

Remarks

To support type visualizers, this method forwards the call to the GetCustomViewerList method. If the expression evaluator also supports custom viewers for this property's type, this method can append the appropriate custom viewers to the list.

See Type Visualizer and Custom Viewer for details on the differences between type visualizers and custom viewers.

Example

The following example shows how to implement this method for a CProperty object that exposes the IDebugProperty3 interface.

STDMETHODIMP CProperty::GetCustomViewerList(ULONG celtSkip, ULONG celtRequested, DEBUG_CUSTOM_VIEWER* prgViewers, ULONG* pceltFetched)
{
    if (NULL == prgViewers)
    {
        return E_POINTER;
    }

    if (GetVisualizerService())
    {
        return m_pIEEVisualizerService->GetCustomViewerList(celtSkip, celtRequested, prgViewers, pceltFetched);
    }
    else
    {
        return E_NOTIMPL;
    }
}

See also