| 1 | #pragma once |
| 2 | // Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. |
| 3 | |
| 4 | |
| 5 | #include <IBootstrapperApplication.h> |
| 6 | #include <BAFunctions.h> |
| 7 | |
| 8 | DECLARE_INTERFACE_IID_(IBAFunctions, IBootstrapperApplication, "0FB445ED-17BD-49C7-BE19-479776F8AE96") |
| 9 | { |
| 10 | // OnThemeLoaded - Called after the BA finished loading all the controls for the theme. |
| 11 | // |
| 12 | STDMETHOD(OnThemeLoaded)( |
| 13 | __in HWND hWnd |
| 14 | ) = 0; |
| 15 | |
| 16 | // WndProc - Called if the BA hasn't handled the message. |
| 17 | // |
| 18 | STDMETHOD(WndProc)( |
| 19 | __in HWND hWnd, |
| 20 | __in UINT uMsg, |
| 21 | __in WPARAM wParam, |
| 22 | __in LPARAM lParam, |
| 23 | __inout BOOL* pfProcessed, |
| 24 | __inout LRESULT* plResult |
| 25 | ) = 0; |
| 26 | |
| 27 | // BAFunctionsProc - The PFN_BA_FUNCTIONS_PROC can call this method to give the BAFunctions raw access to the callback from WixStdBA. |
| 28 | // This might be used to help the BAFunctions support more than one version of the engine/WixStdBA. |
| 29 | STDMETHOD(BAFunctionsProc)( |
| 30 | __in BA_FUNCTIONS_MESSAGE message, |
| 31 | __in const LPVOID pvArgs, |
| 32 | __inout LPVOID pvResults, |
| 33 | __in_opt LPVOID pvContext |
| 34 | ) = 0; |
| 35 | |
| 36 | // OnThemeControlLoading - Called while creating a control for the theme. |
| 37 | // |
| 38 | STDMETHOD(OnThemeControlLoading)( |
| 39 | __in LPCWSTR wzName, |
| 40 | __inout BOOL* pfProcessed, |
| 41 | __inout WORD* pwId, |
| 42 | __inout DWORD* pdwAutomaticBehaviorType |
| 43 | ) = 0; |
| 44 | |
| 45 | // OnThemeControlWmCommand - Called when WM_COMMAND is received for a control. |
| 46 | // |
| 47 | STDMETHOD(OnThemeControlWmCommand)( |
| 48 | __in WPARAM wParam, |
| 49 | __in LPCWSTR wzName, |
| 50 | __in WORD wId, |
| 51 | __in HWND hWnd, |
| 52 | __inout BOOL* pfProcessed, |
| 53 | __inout LRESULT* plResult |
| 54 | ) = 0; |
| 55 | |
| 56 | // OnThemeControlWmNotify - Called when WM_NOTIFY is received for a control. |
| 57 | // |
| 58 | STDMETHOD(OnThemeControlWmNotify)( |
| 59 | __in LPNMHDR lParam, |
| 60 | __in LPCWSTR wzName, |
| 61 | __in WORD wId, |
| 62 | __in HWND hWnd, |
| 63 | __inout BOOL* pfProcessed, |
| 64 | __inout LRESULT* plResult |
| 65 | ) = 0; |
| 66 | |
| 67 | // OnThemeControlLoaded - Called after a control was created for the theme. |
| 68 | // |
| 69 | STDMETHOD(OnThemeControlLoaded)( |
| 70 | __in LPCWSTR wzName, |
| 71 | __in WORD wId, |
| 72 | __in HWND hWnd, |
| 73 | __inout BOOL* pfProcessed |
| 74 | ) = 0; |
| 75 | }; |