IDebugCustomViewer::DisplayValue
This method is called to display the specified value.
Syntax
int DisplayValue(
IntPtr hwnd,
uint dwID,
object pHostServices,
IDebugProperty3 pDebugProperty
);
Parameters
hwnd
[in] Parent window
dwID
[in] ID for custom viewers that support more than one type.
pHostServices
[in] Reserved. Always set to null.
pDebugProperty
[in] Interface that can be used to retrieve the value to be displayed.
Return Value
If successful, returns S_OK
; otherwise returns error code.
Remarks
The display is "modal" in that this method will create the necessary window, display the value, wait for input, and close the window, all before returning to the caller. This means the method must handle all aspects of displaying the property's value, from creating a window for output, to waiting for user input, to destroying the window.
To support changing the value on the given IDebugProperty3 object, you can use the SetValueAsStringWithError method —if the value can be expressed as a string. Otherwise, it is necessary to create a custom interface—exclusive to the expression evaluator implementing this DisplayValue
method—on the same object that implements the IDebugProperty3
interface. This custom interface would supply methods for changing the data of an arbitrary size or complexity.