Plugins: Update ToolStatus plugin interface
@@ -36,6 +36,35 @@ typedef PTOOLSTATUS_TAB_INFO (NTAPI *PTOOLSTATUS_REGISTER_TAB_INFO)(
_In_ INT TabIndex
);
+#define TOOLSTATUS_GRAPH_ENABLED 0x1
+#define TOOLSTATUS_GRAPH_UNAVAILABLE 0x2
+
+#define TOOLSTATUS_GRAPH_MESSAGE_CALLBACK_DECLARE(ToolStatusGraphCallbackName) \
+VOID ToolStatusGraphCallbackName( \
+ _In_ struct _PH_TOOLBAR_GRAPH *Graph, \
+ _In_ HWND GraphHandle, \
+ _In_ PPH_GRAPH_STATE GraphState, \
+ _In_ LPNMHDR Header, \
+ _In_opt_ PVOID Context \
+ )
+
+typedef VOID (NTAPI *PTOOLSTATUS_GRAPH_MESSAGE_CALLBACK)(
+ _In_ struct _PH_TOOLBAR_GRAPH *Graph,
+ _In_ HWND GraphHandle,
+ _In_ PPH_GRAPH_STATE GraphState,
+ _In_ LPNMHDR Header,
+ _In_opt_ PVOID Context
+ );
+
+typedef VOID (NTAPI *PTOOLSTATUS_REGISTER_TOOLBAR_GRAPH)(
+ _In_ struct _PH_PLUGIN *Plugin,
+ _In_ ULONG Id,
+ _In_ PWSTR Text,
+ _In_ ULONG Flags,
+ _In_opt_ PVOID Context,
+ _In_opt_ PTOOLSTATUS_GRAPH_MESSAGE_CALLBACK MessageCallback
+ );
+
typedef struct _TOOLSTATUS_INTERFACE
{
ULONG Version;
@@ -44,6 +73,7 @@ typedef struct _TOOLSTATUS_INTERFACE
PTOOLSTATUS_REGISTER_TAB_SEARCH RegisterTabSearchDeprecated;
PPH_CALLBACK SearchChangedEvent;
PTOOLSTATUS_REGISTER_TAB_INFO RegisterTabInfo;
+ PTOOLSTATUS_REGISTER_TOOLBAR_GRAPH RegisterToolbarGraph;
} TOOLSTATUS_INTERFACE, *PTOOLSTATUS_INTERFACE;
#endif
