aboutsummaryrefslogtreecommitdiff
path: root/src/ext/Bal/wixstdfn/inc/IBAFunctions.h
blob: f54ae3392a71fc5ed43121a96908cea868a7b87a (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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#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.


#include <IBootstrapperApplication.h>
#include <BAFunctions.h>

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)(
        __in HWND hWnd
        ) = 0;

    // WndProc - Called if the BA hasn't handled the message.
    //
    STDMETHOD(WndProc)(
        __in HWND hWnd,
        __in UINT uMsg,
        __in WPARAM wParam,
        __in LPARAM lParam,
        __inout BOOL* pfProcessed,
        __inout LRESULT* plResult
        ) = 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,
        __inout DWORD* pdwAutomaticBehaviorType
        ) = 0;

    // OnThemeControlWmCommand - Called when WM_COMMAND is received for a control.
    //
    STDMETHOD(OnThemeControlWmCommand)(
        __in WPARAM wParam,
        __in LPCWSTR wzName,
        __in WORD wId,
        __in HWND hWnd,
        __inout BOOL* pfProcessed,
        __inout LRESULT* plResult
        ) = 0;

    // OnThemeControlWmNotify - Called when WM_NOTIFY is received for a control.
    //
    STDMETHOD(OnThemeControlWmNotify)(
        __in LPNMHDR lParam,
        __in LPCWSTR wzName,
        __in WORD wId,
        __in HWND hWnd,
        __inout BOOL* pfProcessed,
        __inout LRESULT* plResult
        ) = 0;

    // OnThemeControlLoaded - Called after a control was created for the theme.
    //
    STDMETHOD(OnThemeControlLoaded)(
        __in LPCWSTR wzName,
        __in WORD wId,
        __in HWND hWnd,
        __inout BOOL* pfProcessed
        ) = 0;
};