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;
}
}