aboutsummaryrefslogtreecommitdiff
path: root/src/api/burn/balutil/inc/IBAFunctions.h
blob: d41b7c9bcaeca08701f5e0495252eeccb4700456 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#pragma once
// 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.


DECLARE_INTERFACE_IID_(IBAFunctions, IBootstrapperApplication, "0FB445ED-17BD-49C7-BE19-479776F8AE96")
{
    // OnThemeLoaded - Called after the BA finished loading all the controls for the theme.
    //
    STDMETHOD(OnThemeLoaded)(
        THEME* pTheme,
        WIX_LOCALIZATION* pWixLoc
        ) = 0;

    // WndProc - Called if the BA hasn't handled the message.
    //           The implementation must either return E_NOTIMPL or call ThemeDefWindowProc for unhandled messages.
    //
    STDMETHOD(WndProc)(
        __in THEME* pTheme,
        __in HWND hWnd,
        __in UINT uMsg,
        __in WPARAM wParam,
        __in LPARAM lParam,
        __inout LRESULT* plRes
        ) = 0;

    // BAFunctionsProc - The PFN_BA_FUNCTIONS_PROC can call this method to give the BAFunctions raw access to the callback from WixStdBA.
    //                   This might be used to help the BAFunctions support more than one version of the engine/WixStdBA.
    STDMETHOD(BAFunctionsProc)(
        __in BA_FUNCTIONS_MESSAGE message,
        __in const LPVOID pvArgs,
        __inout LPVOID pvResults,
        __in_opt LPVOID pvContext
        ) = 0;

    // OnThemeControlLoading - Called while creating a control for the theme.
    //
    STDMETHOD(OnThemeControlLoading)(
        __in LPCWSTR wzName,
        __inout BOOL* pfProcessed,
        __inout WORD* pwId
        ) = 0;
};