Coverage for /root/GitHubProjects/impacket/impacket/dcerpc/v5/dcom/comev.py: 60%

# Coverage for /root/GitHubProjects/impacket/impacket/dcerpc/v5/dcom/comev.py : 60%

## 1052 statements

Hot-keys on this page

r m x p toggle line displays

j k next/prev highlighted chunk

0 (zero) top of page

1 (one) first highlighted chunk

1# SECUREAUTH LABS. Copyright 2018 SecureAuth Corporation. All rights reserved.

2#

3# This software is provided under under a slightly modified version

4# of the Apache Software License. See the accompanying LICENSE file

5# for more information.

6#

7# Author: Alberto Solino (@agsolino)

8#

9# Description:

10# [MS-COMEV]: Component Object Model Plus (COM+) Event System Protocol.

11# This was used as a way to test the DCOM runtime. Further

12# testing is needed to verify it is working as expected

13#

14# Best way to learn how to use these calls is to grab the protocol standard

15# so you understand what the call does, and then read the test case located

16# at https://github.com/SecureAuthCorp/impacket/tree/master/tests/SMB_RPC

17#

18# Since DCOM is like an OO RPC, instead of helper functions you will see the

19# classes described in the standards developed.

20# There are test cases for them too.

21#

22 from __future__ import division

23 from __future__ import print_function

24 from impacket.dcerpc.v5.ndr import NDRSTRUCT, NDRENUM, NDRUniConformantVaryingArray

25 from impacket.dcerpc.v5.dcomrt import DCOMCALL, DCOMANSWER, INTERFACE, PMInterfacePointer, IRemUnknown

26 from impacket.dcerpc.v5.dcom.oaut import IDispatch, BSTR, VARIANT

27 from impacket.dcerpc.v5.dtypes import INT, ULONG, LONG, BOOLEAN

28 from impacket.dcerpc.v5.rpcrt import DCERPCException

29 from impacket.dcerpc.v5.enum import Enum

30 from impacket import hresult_errors

31 from impacket.uuid import string_to_bin, uuidtup_to_bin

32

33 class DCERPCSessionError(DCERPCException):

34 def __init__(self, error_string=None, error_code=None, packet=None):

35 DCERPCException.__init__(self, error_string, error_code, packet)

36

37 def __str__( self ):

38 if self.error_code in hresult_errors.ERROR_MESSAGES:

39 error_msg_short = hresult_errors.ERROR_MESSAGES[self.error_code][0]

40 error_msg_verbose = hresult_errors.ERROR_MESSAGES[self.error_code][1]

41 return 'COMEV SessionError: code: 0x%x - %s - %s' % (self.error_code, error_msg_short, error_msg_verbose)

42 else:

43 return 'COMEV SessionError: unknown error code: 0x%x' % self.error_code

44

45################################################################################

46# CONSTANTS

47################################################################################

48# 1.9 Standards Assignments

49 CLSID_EventSystem = string_to_bin('4E14FBA2-2E22-11D1-9964-00C04FBBB345')

50 CLSID_EventSystem2 = string_to_bin('99CC098F-A48A-4e9c-8E58-965C0AFC19D5')

51 CLSID_EventClass = string_to_bin('cdbec9c0-7a68-11d1-88f9-0080c7d771bf')

52 CLSID_EventSubscription = string_to_bin('7542e960-79c7-11d1-88f9-0080c7d771bf')

53 GUID_DefaultAppPartition = string_to_bin('41E90F3E-56C1-4633-81C3-6E8BAC8BDD70')

54 IID_IEventSystem = uuidtup_to_bin(('4E14FB9F-2E22-11D1-9964-00C04FBBB345','0.0'))

55 IID_IEventSystem2 = uuidtup_to_bin(('99CC098F-A48A-4e9c-8E58-965C0AFC19D5','0.0'))

56 IID_IEventSystemInitialize = uuidtup_to_bin(('a0e8f27a-888c-11d1-b763-00c04fb926af','0.0'))

57 IID_IEventObjectCollection = uuidtup_to_bin(('f89ac270-d4eb-11d1-b682-00805fc79216','0.0'))

58 IID_IEnumEventObject = uuidtup_to_bin(('F4A07D63-2E25-11D1-9964-00C04FBBB345','0.0'))

59 IID_IEventSubscription = uuidtup_to_bin(('4A6B0E15-2E38-11D1-9965-00C04FBBB345','0.0'))

60 IID_IEventSubscription2 = uuidtup_to_bin(('4A6B0E16-2E38-11D1-9965-00C04FBBB345','0.0'))

61 IID_IEventSubscription3 = uuidtup_to_bin(('FBC1D17D-C498-43a0-81AF-423DDD530AF6','0.0'))

62 IID_IEventClass = uuidtup_to_bin(('fb2b72a0-7a68-11d1-88f9-0080c7d771bf','0.0'))

63 IID_IEventClass2 = uuidtup_to_bin(('fb2b72a1-7a68-11d1-88f9-0080c7d771bf','0.0'))

64 IID_IEventClass3 = uuidtup_to_bin(('7FB7EA43-2D76-4ea8-8CD9-3DECC270295E','0.0'))

65

66 error_status_t = ULONG

67

68# 2.2.2.2 Property Value Types

69 class VARENUM(NDRENUM):

70 class enumItems(Enum):

71 VT_EMPTY = 0

72 VT_NULL = 1

73 VT_I2 = 2

74 VT_I4 = 3

75 VT_R4 = 4

76 VT_R8 = 5

77 VT_CY = 6

78 VT_DATE = 7

79 VT_BSTR = 8

80 VT_DISPATCH = 9

81 VT_ERROR = 0xa

82 VT_BOOL = 0xb

83 VT_VARIANT = 0xc

84 VT_UNKNOWN = 0xd

85 VT_DECIMAL = 0xe

86 VT_I1 = 0x10

87 VT_UI1 = 0x11

88 VT_UI2 = 0x12

89 VT_UI4 = 0x13

90 VT_I8 = 0x14

91 VT_UI8 = 0x15

92 VT_INT = 0x16

93 VT_UINT = 0x17

94 VT_VOID = 0x18

95 VT_HRESULT = 0x19

96 VT_PTR = 0x1a

97 VT_SAFEARRAY = 0x1b

98 VT_CARRAY = 0x1c

99 VT_USERDEFINED = 0x1d

100 VT_LPSTR = 0x1e

101 VT_LPWSTR = 0x1f

102 VT_RECORD = 0x24

103 VT_INT_PTR = 0x25

104 VT_UINT_PTR = 0x26

105 VT_ARRAY = 0x2000

106 VT_BYREF = 0x4000

107

108################################################################################

109# STRUCTURES

110################################################################################

111# 2.2.44 TYPEATTR

112 class TYPEATTR(NDRSTRUCT):

113 structure = (

114 )

115

116 class OBJECT_ARRAY(NDRUniConformantVaryingArray):

117 item = PMInterfacePointer

118

119################################################################################

120# RPC CALLS

121################################################################################

122# 3.1.4.1 IEventSystem

123# 3.1.4.1.1 Query (Opnum 7)

124 class IEventSystem_Query(DCOMCALL):

125 opnum = 7

126 structure = (

127 ('progID', BSTR),

128 ('queryCriteria', BSTR),

129 )

130

131 class IEventSystem_QueryResponse(DCOMANSWER):

132 structure = (

133 ('errorIndex', INT),

134 ('ppInterface', PMInterfacePointer),

135 ('ErrorCode', error_status_t),

136 )

137

138# 3.1.4.1.2 Store (Opnum 8)

139 class IEventSystem_Store(DCOMCALL):

140 opnum = 8

141 structure = (

142 ('progID', BSTR),

143 ('pInterface', PMInterfacePointer),

144 )

145

146 class IEventSystem_StoreResponse(DCOMANSWER):

147 structure = (

148 ('ErrorCode', error_status_t),

149 )

150

151# 3.1.4.1.3 Remove (Opnum 9)

152 class IEventSystem_Remove(DCOMCALL):

153 opnum = 9

154 structure = (

155 ('progID', BSTR),

156 ('queryCriteria', BSTR),

157 )

158

159 class IEventSystem_RemoveResponse(DCOMANSWER):

160 structure = (

161 ('errorIndex', INT),

162 ('ErrorCode', error_status_t),

163 )

164

165# 3.1.4.1.4 get_EventObjectChangeEventClassID (Opnum 10)

166 class IEventSystem_get_EventObjectChangeEventClassID(DCOMCALL):

167 opnum = 10

168 structure = (

169 )

170

171 class IEventSystem_get_EventObjectChangeEventClassIDResponse(DCOMANSWER):

172 structure = (

173 ('pbstrEventClassID', BSTR),

174 ('ErrorCode', error_status_t),

175 )

176

177# 3.1.4.1.5 QueryS (Opnum 11)

178 class IEventSystem_QueryS(DCOMCALL):

179 opnum = 11

180 structure = (

181 ('progID', BSTR),

182 ('queryCriteria', BSTR),

183 )

184

185 class IEventSystem_QuerySResponse(DCOMANSWER):

186 structure = (

187 ('pInterface', PMInterfacePointer),

188 ('ErrorCode', error_status_t),

189 )

190

191# 3.1.4.1.6 RemoveS (Opnum 12)

192 class IEventSystem_RemoveS(DCOMCALL):

193 opnum = 12

194 structure = (

195 ('progID', BSTR),

196 ('queryCriteria', BSTR),

197 )

198

199 class IEventSystem_RemoveSResponse(DCOMANSWER):

200 structure = (

201 ('ErrorCode', error_status_t),

202 )

203

204################################################################################

205# 3.1.4.2 IEventClass

206# 3.1.4.2.1 get_EventClassID (Opnum 7)

207 class IEventClass_get_EventClassID(DCOMCALL):

208 opnum = 7

209 structure = (

210 )

211

212 class IEventClass_get_EventClassIDResponse(DCOMANSWER):

213 structure = (

214 ('pbstrEventClassID', BSTR),

215 ('ErrorCode', error_status_t),

216 )

217

218# 3.1.4.2.2 put_EventClassID (Opnum 8)

219 class IEventClass_put_EventClassID(DCOMCALL):

220 opnum = 8

221 structure = (

222 ('bstrEventClassID', BSTR),

223 )

224

225 class IEventClass_put_EventClassIDResponse(DCOMANSWER):

226 structure = (

227 ('ErrorCode', error_status_t),

228 )

229

230# 3.1.4.2.3 get_EventClassName (Opnum 9)

231 class IEventClass_get_EventClassName(DCOMCALL):

232 opnum = 9

233 structure = (

234 )

235

236 class IEventClass_get_EventClassNameResponse(DCOMANSWER):

237 structure = (

238 ('pbstrEventClassName', BSTR),

239 ('ErrorCode', error_status_t),

240 )

241

242# 3.1.4.2.4 put_EventClassName (Opnum 10)

243 class IEventClass_put_EventClassName(DCOMCALL):

244 opnum = 10

245 structure = (

246 ('bstrEventClassName', BSTR),

247 )

248

249 class IEventClass_put_EventClassNameResponse(DCOMANSWER):

250 structure = (

251 ('ErrorCode', error_status_t),

252 )

253

254# 3.1.4.2.5 get_OwnerSID (Opnum 11)

255 class IEventClass_get_OwnerSID(DCOMCALL):

256 opnum = 11

257 structure = (

258 )

259

260 class IEventClass_get_OwnerSIDResponse(DCOMANSWER):

261 structure = (

262 ('pbstrOwnerSID', BSTR),

263 ('ErrorCode', error_status_t),

264 )

265

266# 3.1.4.2.6 put_OwnerSID (Opnum 12)

267 class IEventClass_put_OwnerSID(DCOMCALL):

268 opnum = 12

269 structure = (

270 ('bstrOwnerSID', BSTR),

271 )

272

273 class IEventClass_put_OwnerSIDResponse(DCOMANSWER):

274 structure = (

275 ('ErrorCode', error_status_t),

276 )

277

278# 3.1.4.2.7 get_FiringInterfaceID (Opnum 13)

279 class IEventClass_get_FiringInterfaceID(DCOMCALL):

280 opnum = 13

281 structure = (

282 )

283

284 class IEventClass_get_FiringInterfaceIDResponse(DCOMANSWER):

285 structure = (

286 ('pbstrFiringInterfaceID', BSTR),

287 ('ErrorCode', error_status_t),

288 )

289

290# 3.1.4.2.8 put_FiringInterfaceID (Opnum 14)

291 class IEventClass_put_FiringInterfaceID(DCOMCALL):

292 opnum = 14

293 structure = (

294 ('bstrFiringInterfaceID', BSTR),

295 )

296

297 class IEventClass_put_FiringInterfaceIDResponse(DCOMANSWER):

298 structure = (

299 ('ErrorCode', error_status_t),

300 )

301

302# 3.1.4.2.9 get_Description (Opnum 15)

303 class IEventClass_get_Description(DCOMCALL):

304 opnum = 15

305 structure = (

306 )

307

308 class IEventClass_get_DescriptionResponse(DCOMANSWER):

309 structure = (

310 ('pbstrDescription', BSTR),

311 ('ErrorCode', error_status_t),

312 )

313

314# 3.1.4.2.10 put_Description (Opnum 16)

315 class IEventClass_put_Description(DCOMCALL):

316 opnum = 16

317 structure = (

318 ('bstrDescription', BSTR),

319 )

320

321 class IEventClass_put_DescriptionResponse(DCOMANSWER):

322 structure = (

323 ('ErrorCode', error_status_t),

324 )

325

326# 3.1.4.2.11 get_TypeLib (Opnum 19)

327 class IEventClass_get_TypeLib(DCOMCALL):

328 opnum = 19

329 structure = (

330 )

331

332 class IEventClass_get_TypeLibResponse(DCOMANSWER):

333 structure = (

334 ('pbstrTypeLib', BSTR),

335 ('ErrorCode', error_status_t),

336 )

337

338# 3.1.4.2.12 put_TypeLib (Opnum 20)

339 class IEventClass_put_TypeLib(DCOMCALL):

340 opnum = 20

341 structure = (

342 ('bstrTypeLib', BSTR),

343 )

344

345 class IEventClass_put_TypeLibResponse(DCOMANSWER):

346 structure = (

347 ('ErrorCode', error_status_t),

348 )

349

350################################################################################

351# 3.1.4.3 IEventClass2

352# 3.1.4.3.1 get_PublisherID (Opnum 21)

353 class IEventClass2_get_PublisherID(DCOMCALL):

354 opnum = 21

355 structure = (

356 )

357

358 class IEventClass2_get_PublisherIDResponse(DCOMANSWER):

359 structure = (

360 ('pbstrSubscriptionID', BSTR),

361 ('ErrorCode', error_status_t),

362 )

363

364# 3.1.4.3.2 put_PublisherID (Opnum 22)

365 class IEventClass2_put_PublisherID(DCOMCALL):

366 opnum = 22

367 structure = (

368 ('bstrPublisherID', BSTR),

369 )

370

371 class IEventClass2_put_PublisherIDResponse(DCOMANSWER):

372 structure = (

373 ('ErrorCode', error_status_t),

374 )

375

376# 3.1.4.3.3 get_MultiInterfacePublisherFilterCLSID (Opnum 23)

377 class IEventClass2_get_MultiInterfacePublisherFilterCLSID(DCOMCALL):

378 opnum = 23

379 structure = (

380 )

381

382 class IEventClass2_get_MultiInterfacePublisherFilterCLSIDResponse(DCOMANSWER):

383 structure = (

384 ('pbstrPubFilCLSID', BSTR),

385 ('ErrorCode', error_status_t),

386 )

387

388# 3.1.4.3.4 put_MultiInterfacePublisherFilterCLSID (Opnum 24)

389 class IEventClass2_put_MultiInterfacePublisherFilterCLSID(DCOMCALL):

390 opnum = 24

391 structure = (

392 ('bstrPubFilCLSID', BSTR),

393 )

394

395 class IEventClass2_put_MultiInterfacePublisherFilterCLSIDResponse(DCOMANSWER):

396 structure = (

397 ('ErrorCode', error_status_t),

398 )

399

400# 3.1.4.3.5 get_AllowInprocActivation (Opnum 25)

401 class IEventClass2_get_AllowInprocActivation(DCOMCALL):

402 opnum = 25

403 structure = (

404 )

405

406 class IEventClass2_get_AllowInprocActivationResponse(DCOMANSWER):

407 structure = (

408 ('pfAllowInprocActivation', BOOLEAN),

409 ('ErrorCode', error_status_t),

410 )

411

412# 3.1.4.3.6 put_AllowInprocActivation (Opnum 26)

413 class IEventClass2_put_AllowInprocActivation(DCOMCALL):

414 opnum = 26

415 structure = (

416 ('fAllowInprocActivation', BOOLEAN),

417 )

418

419 class IEventClass2_put_AllowInprocActivationResponse(DCOMANSWER):

420 structure = (

421 ('ErrorCode', error_status_t),

422 )

423

424# 3.1.4.3.7 get_FireInParallel (Opnum 27)

425 class IEventClass2_get_FireInParallel(DCOMCALL):

426 opnum = 27

427 structure = (

428 )

429

430 class IEventClass2_get_FireInParallelResponse(DCOMANSWER):

431 structure = (

432 ('pfFireInParallel', BOOLEAN),

433 ('ErrorCode', error_status_t),

434 )

435

436# 3.1.4.3.8 put_FireInParallel (Opnum 28)

437 class IEventClass2_put_FireInParallel(DCOMCALL):

438 opnum = 28

439 structure = (

440 ('pfFireInParallel', BOOLEAN),

441 )

442

443 class IEventClass2_put_FireInParallelResponse(DCOMANSWER):

444 structure = (

445 ('ErrorCode', error_status_t),

446 )

447

448################################################################################

449# 3.1.4.4 IEventSubscription

450# 3.1.4.4.1 get_SubscriptionID (Opnum 7)

451 class IEventSubscription_get_SubscriptionID(DCOMCALL):

452 opnum = 7

453 structure = (

454 )

455

456 class IEventSubscription_get_SubscriptionIDResponse(DCOMANSWER):

457 structure = (

458 ('pbstrSubscriptionID', BSTR),

459 ('ErrorCode', error_status_t),

460 )

461

462# 3.1.4.4.2 put_SubscriptionID (Opnum 8)

463 class IEventSubscription_put_SubscriptionID(DCOMCALL):

464 opnum = 8

465 structure = (

466 ('bstrSubscriptionID', BSTR),

467 )

468

469 class IEventSubscription_put_SubscriptionIDResponse(DCOMANSWER):

470 structure = (

471 ('ErrorCode', error_status_t),

472 )

473

474# 3.1.4.4.3 get_SubscriptionName (Opnum 9)

475 class IEventSubscription_get_SubscriptionName(DCOMCALL):

476 opnum = 9

477 structure = (

478 )

479

480 class IEventSubscription_get_SubscriptionNameResponse(DCOMANSWER):

481 structure = (

482 ('pbstrSubscriptionName', BSTR),

483 ('ErrorCode', error_status_t),

484 )

485

486# 3.1.4.4.4 put_SubscriptionName (Opnum 10)

487 class IEventSubscription_put_SubscriptionName(DCOMCALL):

488 opnum = 10

489 structure = (

490 ('strSubscriptionID', BSTR),

491 )

492

493 class IEventSubscription_put_SubscriptionNameResponse(DCOMANSWER):

494 structure = (

495 ('ErrorCode', error_status_t),

496 )

497

498# 3.1.4.4.5 get_PublisherID (Opnum 11)

499 class IEventSubscription_get_PublisherID(DCOMCALL):

500 opnum = 11

501 structure = (

502 )

503

504 class IEventSubscription_get_PublisherIDResponse(DCOMANSWER):

505 structure = (

506 ('pbstrPublisherID', BSTR),

507 ('ErrorCode', error_status_t),

508 )

509

510# 3.1.4.4.6 put_PublisherID (Opnum 12)

511 class IEventSubscription_put_PublisherID(DCOMCALL):

512 opnum = 12

513 structure = (

514 ('bstrPublisherID', BSTR),

515 )

516

517 class IEventSubscription_put_PublisherIDResponse(DCOMANSWER):

518 structure = (

519 ('ErrorCode', error_status_t),

520 )

521

522# 3.1.4.4.7 get_EventClassID (Opnum 13)

523 class IEventSubscription_get_EventClassID(DCOMCALL):

524 opnum = 13

525 structure = (

526 )

527

528 class IEventSubscription_get_EventClassIDResponse(DCOMANSWER):

529 structure = (

530 ('pbstrEventClassID', BSTR),

531 ('ErrorCode', error_status_t),

532 )

533

534# 3.1.4.4.8 put_EventClassID (Opnum 14)

535 class IEventSubscription_put_EventClassID(DCOMCALL):

536 opnum = 14

537 structure = (

538 ('bstrEventClassID', BSTR),

539 )

540

541 class IEventSubscription_put_EventClassIDResponse(DCOMANSWER):

542 structure = (

543 ('ErrorCode', error_status_t),

544 )

545

546# 3.1.4.4.9 get_MethodName (Opnum 15)

547 class IEventSubscription_get_MethodName(DCOMCALL):

548 opnum = 15

549 structure = (

550 )

551

552 class IEventSubscription_get_MethodNameResponse(DCOMANSWER):

553 structure = (

554 ('pbstrMethodName', BSTR),

555 ('ErrorCode', error_status_t),

556 )

557

558# 3.1.4.4.10 put_MethodName (Opnum 16)

559 class IEventSubscription_put_MethodName(DCOMCALL):

560 opnum = 16

561 structure = (

562 ('bstrMethodName', BSTR),

563 )

564

565 class IEventSubscription_put_MethodNameResponse(DCOMANSWER):

566 structure = (

567 ('ErrorCode', error_status_t),

568 )

569

570# 3.1.4.4.11 get_SubscriberCLSID (Opnum 17)

571 class IEventSubscription_get_SubscriberCLSID(DCOMCALL):

572 opnum = 17

573 structure = (

574 )

575

576 class IEventSubscription_get_SubscriberCLSIDResponse(DCOMANSWER):

577 structure = (

578 ('pbstrSubscriberCLSID', BSTR),

579 ('ErrorCode', error_status_t),

580 )

581

582# 3.1.4.4.12 put_SubscriberCLSID (Opnum 18)

583 class IEventSubscription_put_SubscriberCLSID(DCOMCALL):

584 opnum = 18

585 structure = (

586 ('bstrSubscriberCLSID', BSTR),

587 )

588

589 class IEventSubscription_put_SubscriberCLSIDResponse(DCOMANSWER):

590 structure = (

591 ('ErrorCode', error_status_t),

592 )

593

594# 3.1.4.4.13 get_SubscriberInterface (Opnum 19)

595 class IEventSubscription_get_SubscriberInterface(DCOMCALL):

596 opnum = 19

597 structure = (

598 )

599

600 class IEventSubscription_get_SubscriberInterfaceResponse(DCOMANSWER):

601 structure = (

602 ('ppSubscriberInterface', PMInterfacePointer),

603 ('ErrorCode', error_status_t),

604 )

605

606# 3.1.4.4.14 put_SubscriberInterface (Opnum 20)

607 class IEventSubscription_put_SubscriberInterface(DCOMCALL):

608 opnum = 20

609 structure = (

610 ('pSubscriberInterface', PMInterfacePointer),

611 )

612

613 class IEventSubscription_put_SubscriberInterfaceResponse(DCOMANSWER):

614 structure = (

615 ('ErrorCode', error_status_t),

616 )

617

618# 3.1.4.4.15 get_PerUser (Opnum 21)

619 class IEventSubscription_get_PerUser(DCOMCALL):

620 opnum = 21

621 structure = (

622 )

623

624 class IEventSubscription_get_PerUserResponse(DCOMANSWER):

625 structure = (

626 ('pfPerUser', BOOLEAN),

627 ('ErrorCode', error_status_t),

628 )

629

630# 3.1.4.4.16 put_PerUser (Opnum 22)

631 class IEventSubscription_put_PerUser(DCOMCALL):

632 opnum = 22

633 structure = (

634 ('fPerUser', BOOLEAN),

635 )

636

637 class IEventSubscription_put_PerUserResponse(DCOMANSWER):

638 structure = (

639 ('ErrorCode', error_status_t),

640 )

641

642# 3.1.4.4.17 get_OwnerSID (Opnum 23)

643 class IEventSubscription_get_OwnerSID(DCOMCALL):

644 opnum = 23

645 structure = (

646 )

647

648 class IEventSubscription_get_OwnerSIDResponse(DCOMANSWER):

649 structure = (

650 ('pbstrOwnerSID', BSTR),

651 ('ErrorCode', error_status_t),

652 )

653

654# 3.1.4.4.18 put_OwnerSID (Opnum 24)

655 class IEventSubscription_put_OwnerSID(DCOMCALL):

656 opnum = 24

657 structure = (

658 ('bstrOwnerSID', BSTR),

659 )

660

661 class IEventSubscription_put_OwnerSIDResponse(DCOMANSWER):

662 structure = (

663 ('ErrorCode', error_status_t),

664 )

665

666# 3.1.4.4.19 get_Enabled (Opnum 25)

667 class IEventSubscription_get_Enabled(DCOMCALL):

668 opnum = 25

669 structure = (

670 )

671

672 class IEventSubscription_get_EnabledResponse(DCOMANSWER):

673 structure = (

674 ('pfEnabled', BOOLEAN),

675 ('ErrorCode', error_status_t),

676 )

677

678# 3.1.4.4.20 put_Enabled (Opnum 26)

679 class IEventSubscription_put_Enabled(DCOMCALL):

680 opnum = 26

681 structure = (

682 ('fEnabled', BOOLEAN),

683 )

684

685 class IEventSubscription_put_EnabledResponse(DCOMANSWER):

686 structure = (

687 ('ErrorCode', error_status_t),

688 )

689

690# 3.1.4.4.21 get_Description (Opnum 27)

691 class IEventSubscription_get_Description(DCOMCALL):

692 opnum = 27

693 structure = (

694 )

695

696 class IEventSubscription_get_DescriptionResponse(DCOMANSWER):

697 structure = (

698 ('pbstrDescription', BSTR),

699 ('ErrorCode', error_status_t),

700 )

701

702# 3.1.4.4.22 put_Description (Opnum 28)

703 class IEventSubscription_put_Description(DCOMCALL):

704 opnum = 28

705 structure = (

706 ('bstrDescription', BSTR),

707 )

708

709 class IEventSubscription_put_DescriptionResponse(DCOMANSWER):

710 structure = (

711 ('ErrorCode', error_status_t),

712 )

713

714# 3.1.4.4.23 get_MachineName (Opnum 29)

715 class IEventSubscription_get_MachineName(DCOMCALL):

716 opnum = 29

717 structure = (

718 )

719

720 class IEventSubscription_get_MachineNameResponse(DCOMANSWER):

721 structure = (

722 ('pbstrMachineName', BSTR),

723 ('ErrorCode', error_status_t),

724 )

725

726# 3.1.4.4.24 put_MachineName (Opnum 30)

727 class IEventSubscription_put_MachineName(DCOMCALL):

728 opnum = 30

729 structure = (

730 ('bstrMachineName', BSTR),

731 )

732

733 class IEventSubscription_put_MachineNameResponse(DCOMANSWER):

734 structure = (

735 ('ErrorCode', error_status_t),

736 )

737

738# 3.1.4.4.25 GetPublisherProperty (Opnum 31)

739 class IEventSubscription_GetPublisherProperty(DCOMCALL):

740 opnum = 31

741 structure = (

742 ('bstrPropertyName', BSTR),

743 )

744

745 class IEventSubscription_GetPublisherPropertyResponse(DCOMANSWER):

746 structure = (

747 ('propertyValue', VARIANT),

748 ('ErrorCode', error_status_t),

749 )

750

751# 3.1.4.4.26 PutPublisherProperty (Opnum 32)

752 class IEventSubscription_PutPublisherProperty(DCOMCALL):

753 opnum = 32

754 structure = (

755 ('bstrPropertyName', BSTR),

756 ('propertyValue', VARIANT),

757 )

758

759 class IEventSubscription_PutPublisherPropertyResponse(DCOMANSWER):

760 structure = (

761 ('ErrorCode', error_status_t),

762 )

763

764# 3.1.4.4.27 RemovePublisherProperty (Opnum 33)

765 class IEventSubscription_RemovePublisherProperty(DCOMCALL):

766 opnum = 33

767 structure = (

768 ('bstrPropertyName', BSTR),

769 )

770

771 class IEventSubscription_RemovePublisherPropertyResponse(DCOMANSWER):

772 structure = (

773 ('ErrorCode', error_status_t),

774 )

775

776# 3.1.4.4.28 GetPublisherPropertyCollection (Opnum 34)

777 class IEventSubscription_GetPublisherPropertyCollection(DCOMCALL):

778 opnum = 34

779 structure = (

780 )

781

782 class IEventSubscription_GetPublisherPropertyCollectionResponse(DCOMANSWER):

783 structure = (

784 ('collection', PMInterfacePointer),

785 ('ErrorCode', error_status_t),

786 )

787

788# 3.1.4.4.29 GetSubscriberProperty (Opnum 35)

789 class IEventSubscription_GetSubscriberProperty(DCOMCALL):

790 opnum = 35

791 structure = (

792 ('bstrPropertyName', BSTR),

793 )

794

795 class IEventSubscription_GetSubscriberPropertyResponse(DCOMANSWER):

796 structure = (

797 ('propertyValue', VARIANT),

798 ('ErrorCode', error_status_t),

799 )

800

801# 3.1.4.4.30 PutSubscriberProperty (Opnum 36)

802 class IEventSubscription_PutSubscriberProperty(DCOMCALL):

803 opnum = 36

804 structure = (

805 ('bstrPropertyName', BSTR),

806 ('propertyValue', VARIANT),

807 )

808

809 class IEventSubscription_PutSubscriberPropertyResponse(DCOMANSWER):

810 structure = (

811 ('ErrorCode', error_status_t),

812 )

813

814# 3.1.4.4.31 RemoveSubscriberProperty (Opnum 37)

815 class IEventSubscription_RemoveSubscriberProperty(DCOMCALL):

816 opnum = 37

817 structure = (

818 ('bstrPropertyName', BSTR),

819 )

820

821 class IEventSubscription_RemoveSubscriberPropertyResponse(DCOMANSWER):

822 structure = (

823 ('ErrorCode', error_status_t),

824 )

825

826# 3.1.4.4.32 GetSubscriberPropertyCollection (Opnum 38)

827 class IEventSubscription_GetSubscriberPropertyCollection(DCOMCALL):

828 opnum = 38

829 structure = (

830 )

831

832 class IEventSubscription_GetSubscriberPropertyCollectionResponse(DCOMANSWER):

833 structure = (

834 ('collection', PMInterfacePointer),

835 ('ErrorCode', error_status_t),

836 )

837

838# 3.1.4.4.33 get_InterfaceID (Opnum 39)

839 class IEventSubscription_get_InterfaceID(DCOMCALL):

840 opnum = 39

841 structure = (

842 )

843

844 class IEventSubscription_get_InterfaceIDResponse(DCOMANSWER):

845 structure = (

846 ('pbstrInterfaceID', BSTR),

847 ('ErrorCode', error_status_t),

848 )

849

850# 3.1.4.4.34 put_InterfaceID (Opnum 40)

851 class IEventSubscription_put_InterfaceID(DCOMCALL):

852 opnum = 40

853 structure = (

854 ('bstrInterfaceID', BSTR),

855 )

856

857 class IEventSubscription_put_InterfaceIDResponse(DCOMANSWER):

858 structure = (

859 ('ErrorCode', error_status_t),

860 )

861

862################################################################################

863# 3.1.4.5 IEnumEventObject

864# 3.1.4.5.1 Clone (Opnum 3)

865 class IEnumEventObject_Clone(DCOMCALL):

866 opnum = 3

867 structure = (

868 )

869

870 class IEnumEventObject_CloneResponse(DCOMANSWER):

871 structure = (

872 ('ppInterface', PMInterfacePointer),

873 ('ErrorCode', error_status_t),

874 )

875

876# 3.1.4.5.2 Next (Opnum 4)

877 class IEnumEventObject_Next(DCOMCALL):

878 opnum = 4

879 structure = (

880 ('cReqElem', ULONG),

881 )

882

883 class IEnumEventObject_NextResponse(DCOMANSWER):

884 structure = (

885 ('ppInterface', OBJECT_ARRAY),

886 ('cRetElem', ULONG),

887 ('ErrorCode', error_status_t),

888 )

889

890# 3.1.4.5.3 Reset (Opnum 5)

891 class IEnumEventObject_Reset(DCOMCALL):

892 opnum = 5

893 structure = (

894 )

895

896 class IEnumEventObject_ResetResponse(DCOMANSWER):

897 structure = (

898 ('ErrorCode', error_status_t),

899 )

900

901# 3.1.4.5.4 Skip (Opnum 6)

902 class IEnumEventObject_Skip(DCOMCALL):

903 opnum = 6

904 structure = (

905 ('cSkipElem', ULONG),

906 )

907

908 class IEnumEventObject_SkipResponse(DCOMANSWER):

909 structure = (

910 ('ErrorCode', error_status_t),

911 )

912

913################################################################################

914# 3.1.4.6 IEventObjectCollection

915# 3.1.4.6.1 get__NewEnum (Opnum 7)

916 class IEventObjectCollection_get__NewEnum(DCOMCALL):

917 opnum = 7

918 structure = (

919 )

920

921 class IEventObjectCollection_get__NewEnumResponse(DCOMANSWER):

922 structure = (

923 ('ppUnkEnum', PMInterfacePointer),

924 ('ErrorCode', error_status_t),

925 )

926

927# 3.1.4.6.2 get_Item (Opnum 8)

928 class IEventObjectCollection_get_Item(DCOMCALL):

929 opnum = 8

930 structure = (

931 ('objectID', BSTR),

932 )

933

934 class IEventObjectCollection_get_ItemResponse(DCOMANSWER):

935 structure = (

936 ('pItem', VARIANT),

937 ('ErrorCode', error_status_t),

938 )

939

940# 3.1.4.6.3 get_NewEnum (Opnum 9)

941 class IEventObjectCollection_get_NewEnum(DCOMCALL):

942 opnum = 9

943 structure = (

944 )

945

946 class IEventObjectCollection_get_NewEnumResponse(DCOMANSWER):

947 structure = (

948 ('ppEnum', PMInterfacePointer),

949 ('ErrorCode', error_status_t),

950 )

951

952# 3.1.4.6.4 get_Count (Opnum 10)

953 class IEventObjectCollection_get_Count(DCOMCALL):

954 opnum = 10

955 structure = (

956 )

957

958 class IEventObjectCollection_get_CountResponse(DCOMANSWER):

959 structure = (

960 ('pCount', LONG),

961 ('ErrorCode', error_status_t),

962 )

963

964# 3.1.4.6.5 Add (Opnum 11)

965 class IEventObjectCollection_Add(DCOMCALL):

966 opnum = 11

967 structure = (

968 ('item', VARIANT),

969 ('objectID', BSTR),

970 )

971

972 class IEventObjectCollection_AddResponse(DCOMANSWER):

973 structure = (

974 ('ErrorCode', error_status_t),

975 )

976

977# 3.1.4.6.6 Remove (Opnum 12)

978 class IEventObjectCollection_Remove(DCOMCALL):

979 opnum = 12

980 structure = (

981 ('objectID', BSTR),

982 )

983

984 class IEventObjectCollection_RemoveResponse(DCOMANSWER):

985 structure = (

986 ('ErrorCode', error_status_t),

987 )

988

989################################################################################

990# 3.1.4.7 IEventClass3

991# 3.1.4.7.1 get_EventClassPartitionID (Opnum 29)

992 class IEventClass3_get_EventClassPartitionID(DCOMCALL):

993 opnum = 29

994 structure = (

995 )

996

997 class IEventClass3_get_EventClassPartitionIDResponse(DCOMANSWER):

998 structure = (

999 ('pbstrEventClassPartitionID', BSTR),

1000 ('ErrorCode', error_status_t),

1001 )

1002

1003# 3.1.4.7.2 put_EventClassPartitionID (Opnum 30)

1004 class IEventClass3_put_EventClassPartitionID(DCOMCALL):

1005 opnum = 30

1006 structure = (

1007 ('bstrEventClassPartitionID', BSTR),

1008 )

1009

1010 class IEventClass3_put_EventClassPartitionIDResponse(DCOMANSWER):

1011 structure = (

1012 ('ErrorCode', error_status_t),

1013 )

1014

1015# 3.1.4.7.3 get_EventClassApplicationID (Opnum 31)

1016 class IEventClass3_get_EventClassApplicationID(DCOMCALL):

1017 opnum = 31

1018 structure = (

1019 )

1020

1021 class IEventClass3_get_EventClassApplicationIDResponse(DCOMANSWER):

1022 structure = (

1023 ('pbstrEventClassApplicationID', BSTR),

1024 ('ErrorCode', error_status_t),

1025 )

1026

1027# 3.1.4.7.4 put_EventClassApplicationID (Opnum 32)

1028 class IEventClass3_put_EventClassApplicationID(DCOMCALL):

1029 opnum = 32

1030 structure = (

1031 ('bstrEventClassApplicationID', BSTR),

1032 )

1033

1034 class IEventClass3_put_EventClassApplicationIDResponse(DCOMANSWER):

1035 structure = (

1036 ('ErrorCode', error_status_t),

1037 )

1038

1039################################################################################

1040# 3.1.4.8 IEventSubscription2

1041# 3.1.4.8.1 get_FilterCriteria (Opnum 41)

1042 class IEventSubscription2_get_FilterCriteria(DCOMCALL):

1043 opnum = 41

1044 structure = (

1045 )

1046

1047 class IEventSubscription2_get_FilterCriteriaResponse(DCOMANSWER):

1048 structure = (

1049 ('pbstrFilterCriteria', BSTR),

1050 ('ErrorCode', error_status_t),

1051 )

1052

1053# 3.1.4.8.2 put_FilterCriteria (Opnum 42)

1054 class IEventSubscription2_put_FilterCriteria(DCOMCALL):

1055 opnum = 42

1056 structure = (

1057 ('bstrFilterCriteria', BSTR),

1058 )

1059

1060 class IEventSubscription2_put_FilterCriteriaResponse(DCOMANSWER):

1061 structure = (

1062 ('ErrorCode', error_status_t),

1063 )

1064

1065# 3.1.4.8.3 get_SubscriberMoniker (Opnum 43)

1066 class IEventSubscription2_get_SubscriberMoniker(DCOMCALL):

1067 opnum = 43

1068 structure = (

1069 )

1070

1071 class IEventSubscription2_get_SubscriberMonikerResponse(DCOMANSWER):

1072 structure = (

1073 ('pbstrMoniker', BSTR),

1074 ('ErrorCode', error_status_t),

1075 )

1076

1077# 3.1.4.8.4 put_SubscriberMoniker (Opnum 44)

1078 class IEventSubscription2_put_SubscriberMoniker(DCOMCALL):

1079 opnum = 44

1080 structure = (

1081 ('bstrMoniker', BSTR),

1082 )

1083

1084 class IEventSubscription2_put_SubscriberMonikerResponse(DCOMANSWER):

1085 structure = (

1086 ('ErrorCode', error_status_t),

1087 )

1088

1089################################################################################

1090# 3.1.4.9 IEventSubscription3

1091# 3.1.4.9.1 get_EventClassPartitionID (Opnum 45)

1092 class IEventSubscription3_get_EventClassPartitionID(DCOMCALL):

1093 opnum = 45

1094 structure = (

1095 )

1096

1097 class IEventSubscription3_get_EventClassPartitionIDResponse(DCOMANSWER):

1098 structure = (

1099 ('pbstrEventClassPartitionID', BSTR),

1100 ('ErrorCode', error_status_t),

1101 )

1102

1103# 3.1.4.9.2 put_EventClassPartitionID (Opnum 46)

1104 class IEventSubscription3_put_EventClassPartitionID(DCOMCALL):

1105 opnum = 46

1106 structure = (

1107 ('bstrEventClassPartitionID', BSTR),

1108 )

1109

1110 class IEventSubscription3_put_EventClassPartitionIDResponse(DCOMANSWER):

1111 structure = (

1112 ('ErrorCode', error_status_t),

1113 )

1114

1115# 3.1.4.9.3 get_EventClassApplicationID (Opnum 47)

1116 class IEventSubscription3_get_EventClassApplicationID(DCOMCALL):

1117 opnum = 47

1118 structure = (

1119 )

1120

1121 class IEventSubscription3_get_EventClassApplicationIDResponse(DCOMANSWER):

1122 structure = (

1123 ('pbstrEventClassApplicationID', BSTR),

1124 ('ErrorCode', error_status_t),

1125 )

1126

1127# 3.1.4.9.4 put_EventClassApplicationID (Opnum 48)

1128 class IEventSubscription3_put_EventClassApplicationID(DCOMCALL):

1129 opnum = 48

1130 structure = (

1131 ('bstrEventClassPartitionID', BSTR),

1132 )

1133

1134 class IEventSubscription3_put_EventClassApplicationIDResponse(DCOMANSWER):

1135 structure = (

1136 ('ErrorCode', error_status_t),

1137 )

1138

1139# 3.1.4.9.5 get_SubscriberPartitionID (Opnum 49)

1140 class IEventSubscription3_get_SubscriberPartitionID(DCOMCALL):

1141 opnum = 49

1142 structure = (

1143 )

1144

1145 class IEventSubscription3_get_SubscriberPartitionIDResponse(DCOMANSWER):

1146 structure = (

1147 ('pbstrSubscriberPartitionID', BSTR),

1148 ('ErrorCode', error_status_t),

1149 )

1150

1151# 3.1.4.9.6 put_SubscriberPartitionID (Opnum 50)

1152 class IEventSubscription3_put_SubscriberPartitionID(DCOMCALL):

1153 opnum = 50

1154 structure = (

1155 ('bstrSubscriberPartitionID', BSTR),

1156 )

1157

1158 class IEventSubscription3_put_SubscriberPartitionIDResponse(DCOMANSWER):

1159 structure = (

1160 ('ErrorCode', error_status_t),

1161 )

1162

1163# 3.1.4.9.7 get_SubscriberApplicationID (Opnum 51)

1164 class IEventSubscription3_get_SubscriberApplicationID(DCOMCALL):

1165 opnum = 51

1166 structure = (

1167 )

1168

1169 class IEventSubscription3_get_SubscriberApplicationIDResponse(DCOMANSWER):

1170 structure = (

1171 ('pbstrSubscriberApplicationID', BSTR),

1172 ('ErrorCode', error_status_t),

1173 )

1174

1175# 3.1.4.9.8 put_SubscriberApplicationID (Opnum 52)

1176 class IEventSubscription3_put_SubscriberApplicationID(DCOMCALL):

1177 opnum = 52

1178 structure = (

1179 ('bstrSubscriberApplicationID', BSTR),

1180 )

1181

1182 class IEventSubscription3_put_SubscriberApplicationIDResponse(DCOMANSWER):

1183 structure = (

1184 ('ErrorCode', error_status_t),

1185 )

1186

1187################################################################################

1188# 3.1.4.10 IEventSystem2

1189# 3.1.4.10.1 GetVersion (Opnum 13)

1190 class IEventSystem2_GetVersion(DCOMCALL):

1191 opnum = 13

1192 structure = (

1193 )

1194

1195 class IEventSystem2_GetVersionResponse(DCOMANSWER):

1196 structure = (

1197 ('pnVersion', INT),

1198 ('ErrorCode', error_status_t),

1199 )

1200

1201# 3.1.4.10.2 VerifyTransientSubscribers (Opnum 14)

1202 class IEventSystem2_VerifyTransientSubscribers(DCOMCALL):

1203 opnum = 14

1204 structure = (

1205 )

1206

1207 class IEventSystem2_VerifyTransientSubscribersResponse(DCOMANSWER):

1208 structure = (

1209 ('ErrorCode', error_status_t),

1210 )

1211

1212################################################################################

1213# 3.1.4.11 IEventSystemInitialize

1214# 3.1.4.11.1 SetCOMCatalogBehaviour (Opnum 3)

1215 class IEventSystemInitialize_SetCOMCatalogBehaviour(DCOMCALL):

1216 opnum = 3

1217 structure = (

1218 ('bRetainSubKeys', BOOLEAN),

1219 )

1220

1221 class IEventSystemInitialize_SetCOMCatalogBehaviourResponse(DCOMANSWER):

1222 structure = (

1223 ('ErrorCode', error_status_t),

1224 )

1225

1226

1227################################################################################

1228# OPNUMs and their corresponding structures

1229################################################################################

1230 OPNUMS = {

1231}

1232

1233################################################################################

1234# HELPER FUNCTIONS AND INTERFACES

1235################################################################################

1236 class IEventClass(IDispatch):

1237 def __init__(self, interface):

1238 IDispatch.__init__(self,interface)

1239 self._iid = IID_IEventClass

1240

1241 def get_EventClassID(self):

1242 request = IEventClass_get_EventClassID()

1243 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1244 resp.dump()

1245 return resp

1246

1247 def put_EventClassID(self,bstrEventClassID):

1248 request = IEventClass_put_EventClassID()

1249 request['bstrEventClassID'] = bstrEventClassID

1250 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1251 resp.dump()

1252 return resp

1253

1254 def get_EventClassName(self):

1255 request = IEventClass_get_EventClassName()

1256 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1257 resp.dump()

1258 return resp

1259

1260 def put_EventClassName(self, bstrEventClassName):

1261 request = IEventClass_put_EventClassName()

1262 request['bstrEventClassName'] = bstrEventClassName

1263 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1264 resp.dump()

1265 return resp

1266

1267 def get_OwnerSID(self):

1268 request = IEventClass_get_OwnerSID()

1269 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1270 resp.dump()

1271 return resp

1272

1273 def put_OwnerSID(self, bstrOwnerSID):

1274 request = IEventClass_put_OwnerSID()

1275 request['bstrOwnerSID'] = bstrOwnerSID

1276 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1277 resp.dump()

1278 return resp

1279

1280 def get_FiringInterfaceID(self):

1281 request = IEventClass_get_FiringInterfaceID()

1282 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1283 resp.dump()

1284 return resp

1285

1286 def put_FiringInterfaceID(self, bstrFiringInterfaceID):

1287 request = IEventClass_put_FiringInterfaceID()

1288 request['bstrFiringInterfaceID'] = bstrFiringInterfaceID

1289 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1290 resp.dump()

1291 return resp

1292

1293 def get_Description(self):

1294 request = IEventClass_get_Description()

1295 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1296 resp.dump()

1297 return resp

1298

1299 def put_Description(self, bstrDescription):

1300 request = IEventClass_put_Description()

1301 request['bstrDescription'] = bstrDescription

1302 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1303 resp.dump()

1304 return resp

1305

1306 def get_TypeLib(self):

1307 request = IEventClass_get_TypeLib()

1308 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1309 resp.dump()

1310 return resp

1311

1312 def put_TypeLib(self, bstrTypeLib):

1313 request = IEventClass_put_TypeLib()

1314 request['bstrTypeLib'] = bstrTypeLib

1315 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1316 resp.dump()

1317 return resp

1318

1319 class IEventClass2(IEventClass):

1320 def __init__(self, interface):

1321 IEventClass.__init__(self,interface)

1322 self._iid = IID_IEventClass2

1323

1324 def get_PublisherID(self):

1325 request = IEventClass2_get_PublisherID()

1326 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1327 resp.dump()

1328 return resp

1329

1330 def put_PublisherID(self, bstrPublisherID):

1331 request = IEventClass2_put_PublisherID()

1332 request['bstrPublisherID'] = bstrPublisherID

1333 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1334 resp.dump()

1335 return resp

1336

1337 def get_MultiInterfacePublisherFilterCLSID(self):

1338 request = IEventClass2_get_MultiInterfacePublisherFilterCLSID()

1339 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1340 resp.dump()

1341 return resp

1342

1343 def put_MultiInterfacePublisherFilterCLSID(self, bstrPubFilCLSID):

1344 request = IEventClass2_put_MultiInterfacePublisherFilterCLSID()

1345 request['bstrPubFilCLSID'] = bstrPubFilCLSID

1346 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1347 resp.dump()

1348 return resp

1349

1350 def get_AllowInprocActivation(self):

1351 request = IEventClass2_get_AllowInprocActivation()

1352 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1353 resp.dump()

1354 return resp

1355

1356 def put_AllowInprocActivation(self, fAllowInprocActivation):

1357 request = IEventClass2_put_AllowInprocActivation()

1358 request['fAllowInprocActivation '] = fAllowInprocActivation

1359 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1360 resp.dump()

1361 return resp

1362

1363 def get_FireInParallel(self):

1364 request = IEventClass2_get_FireInParallel()

1365 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1366 resp.dump()

1367 return resp

1368

1369 def put_FireInParallel(self, fFireInParallel):

1370 request = IEventClass2_put_FireInParallel()

1371 request['fFireInParallel '] = fFireInParallel

1372 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1373 resp.dump()

1374 return resp

1375

1376 class IEventClass3(IEventClass2):

1377 def __init__(self, interface):

1378 IEventClass2.__init__(self,interface)

1379 self._iid = IID_IEventClass3

1380

1381 def get_EventClassPartitionID(self):

1382 request = IEventClass3_get_EventClassPartitionID()

1383 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1384 resp.dump()

1385 return resp

1386

1387 def put_EventClassPartitionID(self, bstrEventClassPartitionID):

1388 request = IEventClass3_put_EventClassPartitionID()

1389 request['bstrEventClassPartitionID '] = bstrEventClassPartitionID

1390 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1391 resp.dump()

1392 return resp

1393

1394 def get_EventClassApplicationID(self):

1395 request = IEventClass3_get_EventClassApplicationID()

1396 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1397 resp.dump()

1398 return resp

1399

1400 def put_EventClassApplicationID(self, bstrEventClassApplicationID):

1401 request = IEventClass3_put_EventClassApplicationID()

1402 request['bstrEventClassApplicationID '] = bstrEventClassApplicationID

1403 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1404 resp.dump()

1405 return resp

1406

1407 class IEventSubscription(IDispatch):

1408 def __init__(self, interface):

1409 IDispatch.__init__(self,interface)

1410 self._iid = IID_IEventSubscription

1411

1412 def get_SubscriptionID(self):

1413 request = IEventSubscription_get_SubscriptionID()

1414 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1415 resp.dump()

1416 return resp

1417

1418 def put_SubscriptionID(self, bstrSubscriptionID):

1419 request = IEventSubscription_put_SubscriptionID()

1420 request['bstrSubscriptionID'] = bstrSubscriptionID

1421 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1422 resp.dump()

1423 return resp

1424

1425 def get_SubscriptionName(self):

1426 request = IEventSubscription_get_SubscriptionName()

1427 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1428 return resp

1429

1430 def put_SubscriptionName(self, bstrSubscriptionName):

1431 request = IEventSubscription_put_SubscriptionName()

1432 request['bstrSubscriptionName'] = bstrSubscriptionName

1433 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1434 resp.dump()

1435 return resp

1436

1437 def get_PublisherID(self):

1438 request = IEventSubscription_get_PublisherID()

1439 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1440 resp.dump()

1441 return resp

1442

1443 def put_PublisherID(self, bstrPublisherID):

1444 request = IEventSubscription_put_PublisherID()

1445 request['bstrPublisherID'] = bstrPublisherID

1446 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1447 resp.dump()

1448 return resp

1449

1450 def get_EventClassID(self):

1451 request = IEventSubscription_get_EventClassID()

1452 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1453 resp.dump()

1454 return resp

1455

1456 def put_EventClassID(self, pbstrEventClassID):

1457 request = IEventSubscription_put_EventClassID()

1458 request['pbstrEventClassID'] = pbstrEventClassID

1459 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1460 resp.dump()

1461 return resp

1462

1463 def get_MethodName(self):

1464 request = IEventSubscription_get_MethodName()

1465 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1466 resp.dump()

1467 return resp

1468

1469 def put_MethodName(self, bstrMethodName):

1470 request = IEventSubscription_put_MethodName()

1471 request['bstrMethodName'] = bstrMethodName

1472 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1473 resp.dump()

1474 return resp

1475

1476 def get_SubscriberCLSID(self):

1477 request = IEventSubscription_get_SubscriberCLSID()

1478 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1479 resp.dump()

1480 return resp

1481

1482 def put_SubscriberCLSID(self, bstrSubscriberCLSID):

1483 request = IEventSubscription_put_SubscriberCLSID()

1484 request['bstrSubscriberCLSID'] = bstrSubscriberCLSID

1485 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1486 resp.dump()

1487 return resp

1488

1489 def get_SubscriberInterface(self):

1490 request = IEventSubscription_get_SubscriberInterface()

1491 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1492 resp.dump()

1493 return resp

1494

1495 def put_SubscriberInterface(self, pSubscriberInterface):

1496 request = IEventSubscription_put_SubscriberInterface()

1497 request['pSubscriberInterface'] = pSubscriberInterface

1498 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1499 resp.dump()

1500 return resp

1501

1502 def get_PerUser(self):

1503 request = IEventSubscription_get_PerUser()

1504 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1505 resp.dump()

1506 return resp

1507

1508 def put_PerUser(self, fPerUser):

1509 request = IEventSubscription_put_PerUser()

1510 request['fPerUser'] = fPerUser

1511 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1512 resp.dump()

1513 return resp

1514

1515 def get_OwnerSID(self):

1516 request = IEventSubscription_get_OwnerSID()

1517 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1518 resp.dump()

1519 return resp

1520

1521 def put_OwnerSID(self, bstrOwnerSID):

1522 request = IEventSubscription_put_OwnerSID()

1523 request['bstrOwnerSID'] = bstrOwnerSID

1524 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1525 resp.dump()

1526 return resp

1527

1528 def get_Enabled(self):

1529 request = IEventSubscription_get_Enabled()

1530 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1531 resp.dump()

1532 return resp

1533

1534 def put_Enabled(self, fEnabled):

1535 request = IEventSubscription_put_Enabled()

1536 request['fEnabled'] = fEnabled

1537 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1538 resp.dump()

1539 return resp

1540

1541 def get_Description(self):

1542 request = IEventSubscription_get_Description()

1543 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1544 resp.dump()

1545 return resp

1546

1547 def put_Description(self, bstrDescription):

1548 request = IEventSubscription_put_Description()

1549 request['bstrDescription'] = bstrDescription

1550 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1551 resp.dump()

1552 return resp

1553

1554 def get_MachineName(self):

1555 request = IEventSubscription_get_MachineName()

1556 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1557 resp.dump()

1558 return resp

1559

1560 def put_MachineName(self, bstrMachineName):

1561 request = IEventSubscription_put_MachineName()

1562 request['bstrMachineName'] = bstrMachineName

1563 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1564 resp.dump()

1565 return resp

1566

1567 def GetPublisherProperty(self):

1568 request = IEventSubscription_GetPublisherProperty()

1569 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1570 resp.dump()

1571 return resp

1572

1573 def PutPublisherProperty(self, bstrPropertyName, propertyValue):

1574 request = IEventSubscription_PutPublisherProperty()

1575 request['bstrPropertyName'] = bstrPropertyName

1576 request['propertyValue'] = propertyValue

1577 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1578 resp.dump()

1579 return resp

1580

1581 def RemovePublisherProperty(self, bstrPropertyName):

1582 request = IEventSubscription_RemovePublisherProperty()

1583 request['bstrPropertyName'] = bstrPropertyName

1584 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1585 resp.dump()

1586 return resp

1587

1588 def GetPublisherPropertyCollection(self):

1589 request = IEventSubscription_GetPublisherPropertyCollection()

1590 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1591 resp.dump()

1592 return resp

1593

1594 def GetSubscriberProperty(self):

1595 request = IEventSubscription_GetSubscriberProperty()

1596 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1597 resp.dump()

1598 return resp

1599

1600 def PutSubscriberProperty(self, bstrPropertyName, propertyValue):

1601 request = IEventSubscription_PutSubscriberProperty()

1602 request['bstrPropertyName'] = bstrPropertyName

1603 request['propertyValue'] = propertyValue

1604 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1605 resp.dump()

1606 return resp

1607

1608 def RemoveSubscriberProperty(self, bstrPropertyName):

1609 request = IEventSubscription_RemoveSubscriberProperty()

1610 request['bstrPropertyName'] = bstrPropertyName

1611 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1612 resp.dump()

1613 return resp

1614

1615 def GetSubscriberPropertyCollection(self):

1616 request = IEventSubscription_GetSubscriberPropertyCollection()

1617 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1618 resp.dump()

1619 return resp

1620

1621 def get_InterfaceID(self):

1622 request = IEventSubscription_get_InterfaceID()

1623 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1624 resp.dump()

1625 return resp

1626

1627 def put_InterfaceID(self, bstrInterfaceID):

1628 request = IEventSubscription_put_InterfaceID()

1629 request['bstrInterfaceID'] = bstrInterfaceID

1630 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1631 resp.dump()

1632 return resp

1633

1634 class IEventSubscription2(IEventSubscription):

1635 def __init__(self, interface):

1636 IEventSubscription.__init__(self,interface)

1637 self._iid = IID_IEventSubscription2

1638

1639 def get_FilterCriteria(self):

1640 request = IEventSubscription2_get_FilterCriteria()

1641 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1642 resp.dump()

1643 return resp

1644

1645 def put_FilterCriteria(self, bstrFilterCriteria):

1646 request = IEventSubscription2_put_FilterCriteria()

1647 request['bstrFilterCriteria'] = bstrFilterCriteria

1648 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1649 resp.dump()

1650 return resp

1651

1652 def get_SubscriberMoniker (self):

1653 request = IEventSubscription2_get_SubscriberMoniker ()

1654 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1655 resp.dump()

1656 return resp

1657

1658 def put_SubscriberMoniker(self, bstrMoniker):

1659 request = IEventSubscription2_put_SubscriberMoniker()

1660 request['bstrMoniker'] = bstrMoniker

1661 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1662 resp.dump()

1663 return resp

1664

1665 class IEventSubscription3(IEventSubscription2):

1666 def __init__(self, interface):

1667 IEventSubscription2.__init__(self,interface)

1668 self._iid = IID_IEventSubscription3

1669

1670 def get_EventClassPartitionID(self):

1671 request = IEventSubscription3_get_EventClassPartitionID()

1672 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1673 resp.dump()

1674 return resp

1675

1676 def put_EventClassPartitionID(self, bstrEventClassPartitionID):

1677 request = IEventSubscription3_put_EventClassPartitionID()

1678 request['bstrEventClassPartitionID'] = bstrEventClassPartitionID

1679 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1680 resp.dump()

1681 return resp

1682

1683 def get_EventClassApplicationID(self):

1684 request = IEventSubscription3_get_EventClassApplicationID()

1685 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1686 resp.dump()

1687 return resp

1688

1689 def put_EventClassApplicationID(self, bstrEventClassApplicationID):

1690 request = IEventSubscription3_put_EventClassApplicationID()

1691 request['bstrEventClassApplicationID'] = bstrEventClassApplicationID

1692 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1693 resp.dump()

1694 return resp

1695

1696 def get_SubscriberPartitionID(self):

1697 request = IEventSubscription3_get_SubscriberPartitionID()

1698 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1699 resp.dump()

1700 return resp

1701

1702 def put_SubscriberPartitionID(self, bstrSubscriberPartitionID):

1703 request = IEventSubscription3_put_SubscriberPartitionID()

1704 request['bstrSubscriberPartitionID'] = bstrSubscriberPartitionID

1705 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1706 resp.dump()

1707 return resp

1708

1709 def get_SubscriberApplicationID(self):

1710 request = IEventSubscription3_get_SubscriberApplicationID()

1711 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1712 resp.dump()

1713 return resp

1714

1715 def put_SubscriberApplicationID(self, bstrSubscriberApplicationID):

1716 request = IEventSubscription3_put_SubscriberApplicationID()

1717 request['bstrSubscriberApplicationID'] = bstrSubscriberApplicationID

1718 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1719 resp.dump()

1720 return resp

1721

1722

1723 class IEnumEventObject(IDispatch):

1724 def __init__(self, interface):

1725 IDispatch.__init__(self,interface)

1726 self._iid = IID_IEnumEventObject

1727

1728 def Clone(self):

1729 request = IEnumEventObject_Clone()

1730 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1731 return IEnumEventObject(INTERFACE(self.get_cinstance(), ''.join(resp['ppInterface']['abData']), self.get_ipidRemUnknown(), target = self.get_target()))

1732

1733 def Next(self, cReqElem):

1734 request = IEnumEventObject_Next()

1735 request['cReqElem'] = cReqElem

1736 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1737 interfaces = list()

1738 for interface in resp['ppInterface']:

1739 interfaces.append(IEventClass2(INTERFACE(self.get_cinstance(), ''.join(interface['abData']), self.get_ipidRemUnknown(), target = self.get_target())))

1740 return interfaces

1741

1742 def Reset(self):

1743 request = IEnumEventObject_Reset()

1744 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1745 return resp

1746

1747 def Skip(self, cSkipElem):

1748 request = IEnumEventObject_Skip()

1749 request['cSkipElem'] = cSkipElem

1750 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1751 return resp

1752

1753 class IEventObjectCollection(IDispatch):

1754 def __init__(self, interface):

1755 IDispatch.__init__(self,interface)

1756 self._iid = IID_IEventObjectCollection

1757

1758 def get__NewEnum(self):

1759 request = IEventObjectCollection_get__NewEnum()

1760 resp = self.request(request, iid = self._iid , uuid = self.get_iPid())

1761 return IEnumEventObject(INTERFACE(self.get_cinstance(), ''.join(resp['ppEnum']['abData']), self.get_ipidRemUnknown(), target = self._get_target()))

1762

1763 def get_Item(self, objectID):

1764 request = IEventObjectCollection_get_Item()

1765 request['objectID']['asData'] = objectID

1766 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1767 return resp

1768

1769 def get_NewEnum(self):

1770 request = IEventObjectCollection_get_NewEnum()

1771 resp = self.request(request, iid = self._iid , uuid = self.get_iPid())

1772 return IEnumEventObject(INTERFACE(self.get_cinstance(), ''.join(resp['ppEnum']['abData']), self.get_ipidRemUnknown(), target = self.get_target()))

1773

1774 def get_Count(self):

1775 request = IEventObjectCollection_get_Count()

1776 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1777 return resp

1778

1779 def Add(self, item, objectID):

1780 request = IEventObjectCollection_Add()

1781 request['item'] = item

1782 request['objectID']['asData'] = objectID

1783 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1784 return resp

1785

1786 def Remove(self, objectID):

1787 request = IEventObjectCollection_Remove()

1788 request['objectID']['asData'] = objectID

1789 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1790 return resp

1791

1792 class IEventSystem(IDispatch):

1793 def __init__(self, interface):

1794 IDispatch.__init__(self,interface)

1795 self._iid = IID_IEventSystem

1796

1797 def Query(self, progID, queryCriteria):

1798 request = IEventSystem_Query()

1799 request['progID']['asData']=progID

1800 request['queryCriteria']['asData']=queryCriteria

1801 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1802 iInterface = IDispatch(INTERFACE(self.get_cinstance(), ''.join(resp['ppInterface']['abData']), self.get_ipidRemUnknown(), target = self.get_target()))

1803 return IEventObjectCollection(iInterface.RemQueryInterface(1, (IID_IEventObjectCollection,)))

1804

1805 def Store(self, progID, pInterface):

1806 request = IEventSystem_Store()

1807 request['progID']['asData']=progID

1808 request['pInterface'] = pInterface

1809 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1810 return resp

1811

1812 def Remove(self, progID, queryCriteria):

1813 request = IEventSystem_Remove()

1814 request['progID']['asData']=progID

1815 request['queryCriteria'] = queryCriteria

1816 resp = self.request(request, uuid = self.get_iPid())

1817 return resp

1818

1819 def get_EventObjectChangeEventClassID(self):

1820 request = IEventSystem_get_EventObjectChangeEventClassID()

1821 resp = self.request(request, uuid = self.get_iPid())

1822 return resp

1823

1824 def QueryS(self,progID, queryCriteria):

1825 request = IEventSystem_QueryS()

1826 request['progID']['asData']=progID

1827 request['queryCriteria']['asData']=queryCriteria

1828 resp = self.request(request, uuid = self.get_iPid())

1829 iInterface = IDispatch(INTERFACE(self.get_cinstance(), ''.join(resp['ppInterface']['abData']), self.get_ipidRemUnknown(), target = self.get_target()))

1830 return IEventObjectCollection(iInterface.RemQueryInterface(1, (IID_IEventObjectCollection,)))

1831

1832 def RemoveS(self,progID, queryCriteria):

1833 request = IEventSystem_RemoveS()

1834 request['progID']['asData']=progID

1835 request['queryCriteria']['asData']=queryCriteria

1836 resp = self.request(request, uuid = self.get_iPid())

1837 return resp

1838

1839 class IEventSystem2(IEventSystem):

1840 def __init__(self, interface):

1841 IEventSystem.__init__(self,interface)

1842 self._iid = IID_IEventSystem2

1843

1844 def GetVersion(self):

1845 request = IEventSystem2_GetVersion()

1846 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1847 return resp

1848

1849 def VerifyTransientSubscribers(self):

1850 request = IEventSystem2_GetVersion()

1851 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1852 return resp

1853

1854 class IEventSystemInitialize(IRemUnknown):

1855 def __init__(self, interface):

1856 IRemUnknown.__init__(self,interface)

1857 self._iid = IID_IEventSystemInitialize

1858

1859 def SetCOMCatalogBehaviour(self, bRetainSubKeys):

1860 request = IEventSystem2_GetVersion()

1861 request['bRetainSubKeys'] = bRetainSubKeys

1862 resp = self.request(request, iid = self._iid, uuid = self.get_iPid())

1863 return resp