// Command handler interface
[ComImport]
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
[Guid("75ae0a2d-dc03-4c9f-8883-069660d0beb6")]
public interface IUICommandHandler
{
// User action callback, with transient execution parameters
[PreserveSig]
HRESULT Execute(UInt32 commandId, // the command that has been executed
UI_ExecutionVerb verb, // the mode of execution
[In] ref PropertyKey key, // the property that has changed
[In] ref PropVariant currentValue, // the new value of the property that has changed
[MarshalAs(UnmanagedType.Interface)] IUISimplePropertySet commandExecutionProperties); // additional data for this execution
// Informs of the current value of a property, and queries for the new one
[PreserveSig]
HRESULT UpdateProperty(UInt32 commandId,
[In] ref PropertyKey key,
[In] ref PropVariant currentValue,
[In, Out] ref PropVariant newValue);
}
None.