aboutsummaryrefslogtreecommitdiff
path: root/src/ext/ComPlus/ca/cpsubssched.h
blob: 83ff1af8f628c80a879f936fb34e5cc5485b9746 (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
#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.


struct CPI_SUBSCRIPTION
{
    WCHAR wzKey[MAX_DARWIN_KEY + 1];
    WCHAR wzID[CPI_MAX_GUID + 1];
    WCHAR wzName[MAX_DARWIN_COLUMN + 1];
    WCHAR wzEventCLSID[CPI_MAX_GUID + 1];
    WCHAR wzPublisherID[CPI_MAX_GUID + 1];

    BOOL fObjectNotFound;

    int iPropertyCount;
    CPI_PROPERTY* pProperties;

    INSTALLSTATE isInstalled, isAction;

    CPI_ASSEMBLY* pAssembly;
    CPISCHED_COMPONENT* pComponent;

    CPI_SUBSCRIPTION* pNext;
};

struct CPI_SUBSCRIPTION_LIST
{
    CPI_SUBSCRIPTION* pFirst;

    int iInstallCount;
    int iCommitCount;
    int iUninstallCount;
};


// function prototypes

void CpiSubscriptionListFree(
    CPI_SUBSCRIPTION_LIST* pList
    );
HRESULT CpiSubscriptionsRead(
    CPI_ASSEMBLY_LIST* pAsmList,
    CPI_SUBSCRIPTION_LIST* pSubList
    );
HRESULT CpiSubscriptionsVerifyInstall(
    CPI_SUBSCRIPTION_LIST* pList
    );
HRESULT CpiSubscriptionsVerifyUninstall(
    CPI_SUBSCRIPTION_LIST* pList
    );
HRESULT CpiSubscriptionsInstall(
    CPI_SUBSCRIPTION_LIST* pList,
    int iRunMode,
    LPWSTR* ppwzActionData,
    int* piProgress
    );
HRESULT CpiSubscriptionsUninstall(
    CPI_SUBSCRIPTION_LIST* pList,
    int iRunMode,
    LPWSTR* ppwzActionData,
    int* piProgress
    );