aboutsummaryrefslogtreecommitdiff
path: root/src/ca/cputilsched.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/ca/cputilsched.h')
-rw-r--r--src/ca/cputilsched.h144
1 files changed, 144 insertions, 0 deletions
diff --git a/src/ca/cputilsched.h b/src/ca/cputilsched.h
new file mode 100644
index 00000000..61aaab84
--- /dev/null
+++ b/src/ca/cputilsched.h
@@ -0,0 +1,144 @@
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#define CPI_MAX_GUID 38
6
7enum eRunMode { rmDeferred = 1, rmCommit, rmRollback };
8
9enum eActionType { atNoOp = 0, atCreate, atRemove };
10
11enum eComPlusPropertyType { cpptNone = 0, cpptBoolean, cpptInteger, cpptString, cpptUser };
12
13enum eComPlusTables
14{
15 cptComPlusPartition = (1 << 0),
16 cptComPlusPartitionProperty = (1 << 1),
17 cptComPlusPartitionRole = (1 << 2),
18 cptComPlusUserInPartitionRole = (1 << 3),
19 cptComPlusGroupInPartitionRole = (1 << 4),
20 cptComPlusPartitionUser = (1 << 5),
21 cptComPlusApplication = (1 << 6),
22 cptComPlusApplicationProperty = (1 << 7),
23 cptComPlusApplicationRole = (1 << 8),
24 cptComPlusApplicationRoleProperty = (1 << 9),
25 cptComPlusUserInApplicationRole = (1 << 10),
26 cptComPlusGroupInApplicationRole = (1 << 11),
27 cptComPlusAssembly = (1 << 12),
28 cptComPlusAssemblyDependency = (1 << 13),
29 cptComPlusComponent = (1 << 14),
30 cptComPlusComponentProperty = (1 << 15),
31 cptComPlusRoleForComponent = (1 << 16),
32 cptComPlusInterface = (1 << 17),
33 cptComPlusInterfaceProperty = (1 << 18),
34 cptComPlusRoleForInterface = (1 << 19),
35 cptComPlusMethod = (1 << 20),
36 cptComPlusMethodProperty = (1 << 21),
37 cptComPlusRoleForMethod = (1 << 22),
38 cptComPlusSubscription = (1 << 23),
39 cptComPlusSubscriptionProperty = (1 << 24)
40};
41
42
43// structs
44
45struct CPI_PROPERTY
46{
47 WCHAR wzName[MAX_DARWIN_KEY + 1];
48 LPWSTR pwzValue;
49
50 CPI_PROPERTY* pNext;
51};
52
53struct CPI_PROPERTY_DEFINITION
54{
55 LPCWSTR pwzName;
56 int iType;
57 int iMinVersionNT;
58};
59
60
61// function prototypes
62
63void CpiInitialize();
64void CpiFinalize();
65BOOL CpiTableExists(
66 int iTable
67 );
68HRESULT CpiGetAdminCatalog(
69 ICOMAdminCatalog** ppiCatalog
70 );
71HRESULT CpiGetCatalogCollection(
72 LPCWSTR pwzName,
73 ICatalogCollection** ppiColl
74 );
75HRESULT CpiGetCatalogCollection(
76 ICatalogCollection* piColl,
77 ICatalogObject* piObj,
78 LPCWSTR pwzName,
79 ICatalogCollection** ppiColl
80 );
81HRESULT CpiGetKeyForObject(
82 ICatalogObject* piObj,
83 LPWSTR pwzKey,
84 SIZE_T cchKey
85 );
86HRESULT CpiFindCollectionObject(
87 ICatalogCollection* piColl,
88 LPCWSTR pwzID,
89 LPCWSTR pwzName,
90 ICatalogObject** ppiObj
91 );
92HRESULT CpiGetPartitionsCollection(
93 ICatalogCollection** ppiPartColl
94 );
95HRESULT CpiGetApplicationsCollection(
96 ICatalogCollection** ppiAppColl
97 );
98HRESULT CpiAddActionTextToActionData(
99 LPCWSTR pwzAction,
100 LPWSTR* ppwzActionData
101 );
102HRESULT CpiVerifyComponentArchitecure(
103 LPCWSTR pwzComponent,
104 BOOL* pfMatchingArchitecture
105 );
106HRESULT CpiPropertiesRead(
107 LPCWSTR pwzQuery,
108 LPCWSTR pwzKey,
109 CPI_PROPERTY_DEFINITION* pPropDefList,
110 CPI_PROPERTY** ppPropList,
111 int* piCount
112 );
113void CpiPropertiesFreeList(
114 CPI_PROPERTY* pList
115 );
116HRESULT CpiAddPropertiesToActionData(
117 int iPropCount,
118 CPI_PROPERTY* pPropList,
119 LPWSTR* ppwzActionData
120 );
121HRESULT CpiBuildAccountName(
122 LPCWSTR pwzDomain,
123 LPCWSTR pwzName,
124 LPWSTR* ppwzAccount
125 );
126HRESULT CpiGetTempFileName(
127 LPWSTR* ppwzTempFile
128 );
129HRESULT CpiCreateId(
130 LPWSTR pwzDest,
131 SIZE_T cchDest
132 );
133BOOL CpiIsInstalled(
134 INSTALLSTATE isInstalled
135 );
136BOOL CpiWillBeInstalled(
137 INSTALLSTATE isInstalled,
138 INSTALLSTATE isAction
139 );
140HRESULT PcaGuidToRegFormat(
141 LPWSTR pwzGuid,
142 LPWSTR pwzDest,
143 SIZE_T cchDest
144 );