Compartir a través de


IDebugProperty3::GetCustomViewerList

Applies to: yesVisual Studio noVisual Studio for Mac

Note

This article applies to Visual Studio 2017. If you're looking for the latest Visual Studio documentation, see Visual Studio documentation. We recommend upgrading to the latest version of Visual Studio. Download it here

Gets a list of custom viewers associated with this property.

Syntax

HRESULT GetCustomViewerList(
    ULONG                celtSkip,
    ULONG                celtRequested,
    DEBUG_CUSTOM_VIEWER* rgViewers,
    ULONG*               pceltFetched
);
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