main
h 92 lines 2.19 KB
Raw
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 struct MQI_MESSAGE_QUEUE
6 {
7 WCHAR wzKey[MAX_DARWIN_KEY + 1];
8 int iBasePriority;
9 int iJournalQuota;
10 WCHAR wzLabel[MAX_DARWIN_COLUMN + 1];
11 WCHAR wzMulticastAddress[MAX_DARWIN_COLUMN + 1];
12 WCHAR wzPathName[MAX_DARWIN_COLUMN + 1];
13 int iPrivLevel;
14 int iQuota;
15 WCHAR wzServiceTypeGuid[MAX_DARWIN_COLUMN + 1];
16 int iAttributes;
17
18 INSTALLSTATE isInstalled, isAction;
19 BOOL fExists;
20
21 MQI_MESSAGE_QUEUE* pNext;
22 };
23
24 struct MQI_MESSAGE_QUEUE_LIST
25 {
26 MQI_MESSAGE_QUEUE* pFirst;
27
28 int iInstallCount;
29 int iUninstallCount;
30 };
31
32 struct MQI_MESSAGE_QUEUE_PERMISSION
33 {
34 WCHAR wzKey[MAX_DARWIN_KEY + 1];
35 WCHAR wzDomain[MAX_DARWIN_COLUMN + 1];
36 WCHAR wzName[MAX_DARWIN_COLUMN + 1];
37 int iPermissions;
38
39 MQI_MESSAGE_QUEUE* pMessageQueue;
40
41 INSTALLSTATE isInstalled, isAction;
42
43 MQI_MESSAGE_QUEUE_PERMISSION* pNext;
44 };
45
46 struct MQI_MESSAGE_QUEUE_PERMISSION_LIST
47 {
48 MQI_MESSAGE_QUEUE_PERMISSION* pFirst;
49
50 int iInstallCount;
51 int iUninstallCount;
52 };
53
54
55 // function prototypes
56
57 HRESULT MqiSchedInitialize();
58 void MqiSchedUninitialize();
59 HRESULT MqiMessageQueueRead(
60 MQI_MESSAGE_QUEUE_LIST* pList
61 );
62 HRESULT MqiMessageQueueVerify(
63 MQI_MESSAGE_QUEUE_LIST* pList
64 );
65 HRESULT MqiMessageQueueInstall(
66 MQI_MESSAGE_QUEUE_LIST* pList,
67 BOOL fRollback,
68 LPWSTR* ppwzActionData
69 );
70 HRESULT MqiMessageQueueUninstall(
71 MQI_MESSAGE_QUEUE_LIST* pList,
72 BOOL fRollback,
73 LPWSTR* ppwzActionData
74 );
75 void MqiMessageQueueFreeList(
76 MQI_MESSAGE_QUEUE_LIST* pList
77 );
78 HRESULT MqiMessageQueuePermissionRead(
79 MQI_MESSAGE_QUEUE_LIST* pMessageQueueList,
80 MQI_MESSAGE_QUEUE_PERMISSION_LIST* pList
81 );
82 HRESULT MqiMessageQueuePermissionInstall(
83 MQI_MESSAGE_QUEUE_PERMISSION_LIST* pList,
84 LPWSTR* ppwzActionData
85 );
86 HRESULT MqiMessageQueuePermissionUninstall(
87 MQI_MESSAGE_QUEUE_PERMISSION_LIST* pList,
88 LPWSTR* ppwzActionData
89 );
90 void MqiMessageQueuePermissionFreeList(
91 MQI_MESSAGE_QUEUE_PERMISSION_LIST* pList
92 );