Skip to content

Latest commit

 

History

History
91 lines (77 loc) · 2.9 KB

idebugproperty3-getcustomviewerlist.md

File metadata and controls

91 lines (77 loc) · 2.9 KB
description title ms.date ms.topic f1_keywords helpviewer_keywords author ms.author manager ms.subservice dev_langs
Gets a list of custom viewers associated with this property.
IDebugProperty3::GetCustomViewerList
11/04/2016
reference
IDebugProperty3::GetCustomViewerList
IDebugProperty3::GetCustomViewerList
maiak
maiak
mijacobs
debug-diagnostics
CPP
CSharp

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