mirror of
https://github.com/lgandx/Responder.git
synced 2024-10-18 13:10:21 -07:00
1864 lines
57 KiB
Python
1864 lines
57 KiB
Python
# SECUREAUTH LABS. Copyright 2018 SecureAuth Corporation. All rights reserved.
|
|
#
|
|
# This software is provided under under a slightly modified version
|
|
# of the Apache Software License. See the accompanying LICENSE file
|
|
# for more information.
|
|
#
|
|
# Author: Alberto Solino (@agsolino)
|
|
#
|
|
# Description:
|
|
# [MS-COMEV]: Component Object Model Plus (COM+) Event System Protocol.
|
|
# This was used as a way to test the DCOM runtime. Further
|
|
# testing is needed to verify it is working as expected
|
|
#
|
|
# Best way to learn how to use these calls is to grab the protocol standard
|
|
# so you understand what the call does, and then read the test case located
|
|
# at https://github.com/SecureAuthCorp/impacket/tree/master/tests/SMB_RPC
|
|
#
|
|
# Since DCOM is like an OO RPC, instead of helper functions you will see the
|
|
# classes described in the standards developed.
|
|
# There are test cases for them too.
|
|
#
|
|
from __future__ import division
|
|
from __future__ import print_function
|
|
from impacket.dcerpc.v5.ndr import NDRSTRUCT, NDRENUM, NDRUniConformantVaryingArray
|
|
from impacket.dcerpc.v5.dcomrt import DCOMCALL, DCOMANSWER, INTERFACE, PMInterfacePointer, IRemUnknown
|
|
from impacket.dcerpc.v5.dcom.oaut import IDispatch, BSTR, VARIANT
|
|
from impacket.dcerpc.v5.dtypes import INT, ULONG, LONG, BOOLEAN
|
|
from impacket.dcerpc.v5.rpcrt import DCERPCException
|
|
from impacket.dcerpc.v5.enum import Enum
|
|
from impacket import hresult_errors
|
|
from impacket.uuid import string_to_bin, uuidtup_to_bin
|
|
|
|
class DCERPCSessionError(DCERPCException):
|
|
def __init__(self, error_string=None, error_code=None, packet=None):
|
|
DCERPCException.__init__(self, error_string, error_code, packet)
|
|
|
|
def __str__( self ):
|
|
if self.error_code in hresult_errors.ERROR_MESSAGES:
|
|
error_msg_short = hresult_errors.ERROR_MESSAGES[self.error_code][0]
|
|
error_msg_verbose = hresult_errors.ERROR_MESSAGES[self.error_code][1]
|
|
return 'COMEV SessionError: code: 0x%x - %s - %s' % (self.error_code, error_msg_short, error_msg_verbose)
|
|
else:
|
|
return 'COMEV SessionError: unknown error code: 0x%x' % self.error_code
|
|
|
|
################################################################################
|
|
# CONSTANTS
|
|
################################################################################
|
|
# 1.9 Standards Assignments
|
|
CLSID_EventSystem = string_to_bin('4E14FBA2-2E22-11D1-9964-00C04FBBB345')
|
|
CLSID_EventSystem2 = string_to_bin('99CC098F-A48A-4e9c-8E58-965C0AFC19D5')
|
|
CLSID_EventClass = string_to_bin('cdbec9c0-7a68-11d1-88f9-0080c7d771bf')
|
|
CLSID_EventSubscription = string_to_bin('7542e960-79c7-11d1-88f9-0080c7d771bf')
|
|
GUID_DefaultAppPartition = string_to_bin('41E90F3E-56C1-4633-81C3-6E8BAC8BDD70')
|
|
IID_IEventSystem = uuidtup_to_bin(('4E14FB9F-2E22-11D1-9964-00C04FBBB345','0.0'))
|
|
IID_IEventSystem2 = uuidtup_to_bin(('99CC098F-A48A-4e9c-8E58-965C0AFC19D5','0.0'))
|
|
IID_IEventSystemInitialize = uuidtup_to_bin(('a0e8f27a-888c-11d1-b763-00c04fb926af','0.0'))
|
|
IID_IEventObjectCollection = uuidtup_to_bin(('f89ac270-d4eb-11d1-b682-00805fc79216','0.0'))
|
|
IID_IEnumEventObject = uuidtup_to_bin(('F4A07D63-2E25-11D1-9964-00C04FBBB345','0.0'))
|
|
IID_IEventSubscription = uuidtup_to_bin(('4A6B0E15-2E38-11D1-9965-00C04FBBB345','0.0'))
|
|
IID_IEventSubscription2 = uuidtup_to_bin(('4A6B0E16-2E38-11D1-9965-00C04FBBB345','0.0'))
|
|
IID_IEventSubscription3 = uuidtup_to_bin(('FBC1D17D-C498-43a0-81AF-423DDD530AF6','0.0'))
|
|
IID_IEventClass = uuidtup_to_bin(('fb2b72a0-7a68-11d1-88f9-0080c7d771bf','0.0'))
|
|
IID_IEventClass2 = uuidtup_to_bin(('fb2b72a1-7a68-11d1-88f9-0080c7d771bf','0.0'))
|
|
IID_IEventClass3 = uuidtup_to_bin(('7FB7EA43-2D76-4ea8-8CD9-3DECC270295E','0.0'))
|
|
|
|
error_status_t = ULONG
|
|
|
|
# 2.2.2.2 Property Value Types
|
|
class VARENUM(NDRENUM):
|
|
class enumItems(Enum):
|
|
VT_EMPTY = 0
|
|
VT_NULL = 1
|
|
VT_I2 = 2
|
|
VT_I4 = 3
|
|
VT_R4 = 4
|
|
VT_R8 = 5
|
|
VT_CY = 6
|
|
VT_DATE = 7
|
|
VT_BSTR = 8
|
|
VT_DISPATCH = 9
|
|
VT_ERROR = 0xa
|
|
VT_BOOL = 0xb
|
|
VT_VARIANT = 0xc
|
|
VT_UNKNOWN = 0xd
|
|
VT_DECIMAL = 0xe
|
|
VT_I1 = 0x10
|
|
VT_UI1 = 0x11
|
|
VT_UI2 = 0x12
|
|
VT_UI4 = 0x13
|
|
VT_I8 = 0x14
|
|
VT_UI8 = 0x15
|
|
VT_INT = 0x16
|
|
VT_UINT = 0x17
|
|
VT_VOID = 0x18
|
|
VT_HRESULT = 0x19
|
|
VT_PTR = 0x1a
|
|
VT_SAFEARRAY = 0x1b
|
|
VT_CARRAY = 0x1c
|
|
VT_USERDEFINED = 0x1d
|
|
VT_LPSTR = 0x1e
|
|
VT_LPWSTR = 0x1f
|
|
VT_RECORD = 0x24
|
|
VT_INT_PTR = 0x25
|
|
VT_UINT_PTR = 0x26
|
|
VT_ARRAY = 0x2000
|
|
VT_BYREF = 0x4000
|
|
|
|
################################################################################
|
|
# STRUCTURES
|
|
################################################################################
|
|
# 2.2.44 TYPEATTR
|
|
class TYPEATTR(NDRSTRUCT):
|
|
structure = (
|
|
)
|
|
|
|
class OBJECT_ARRAY(NDRUniConformantVaryingArray):
|
|
item = PMInterfacePointer
|
|
|
|
################################################################################
|
|
# RPC CALLS
|
|
################################################################################
|
|
# 3.1.4.1 IEventSystem
|
|
# 3.1.4.1.1 Query (Opnum 7)
|
|
class IEventSystem_Query(DCOMCALL):
|
|
opnum = 7
|
|
structure = (
|
|
('progID', BSTR),
|
|
('queryCriteria', BSTR),
|
|
)
|
|
|
|
class IEventSystem_QueryResponse(DCOMANSWER):
|
|
structure = (
|
|
('errorIndex', INT),
|
|
('ppInterface', PMInterfacePointer),
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.1.2 Store (Opnum 8)
|
|
class IEventSystem_Store(DCOMCALL):
|
|
opnum = 8
|
|
structure = (
|
|
('progID', BSTR),
|
|
('pInterface', PMInterfacePointer),
|
|
)
|
|
|
|
class IEventSystem_StoreResponse(DCOMANSWER):
|
|
structure = (
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.1.3 Remove (Opnum 9)
|
|
class IEventSystem_Remove(DCOMCALL):
|
|
opnum = 9
|
|
structure = (
|
|
('progID', BSTR),
|
|
('queryCriteria', BSTR),
|
|
)
|
|
|
|
class IEventSystem_RemoveResponse(DCOMANSWER):
|
|
structure = (
|
|
('errorIndex', INT),
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.1.4 get_EventObjectChangeEventClassID (Opnum 10)
|
|
class IEventSystem_get_EventObjectChangeEventClassID(DCOMCALL):
|
|
opnum = 10
|
|
structure = (
|
|
)
|
|
|
|
class IEventSystem_get_EventObjectChangeEventClassIDResponse(DCOMANSWER):
|
|
structure = (
|
|
('pbstrEventClassID', BSTR),
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.1.5 QueryS (Opnum 11)
|
|
class IEventSystem_QueryS(DCOMCALL):
|
|
opnum = 11
|
|
structure = (
|
|
('progID', BSTR),
|
|
('queryCriteria', BSTR),
|
|
)
|
|
|
|
class IEventSystem_QuerySResponse(DCOMANSWER):
|
|
structure = (
|
|
('pInterface', PMInterfacePointer),
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.1.6 RemoveS (Opnum 12)
|
|
class IEventSystem_RemoveS(DCOMCALL):
|
|
opnum = 12
|
|
structure = (
|
|
('progID', BSTR),
|
|
('queryCriteria', BSTR),
|
|
)
|
|
|
|
class IEventSystem_RemoveSResponse(DCOMANSWER):
|
|
structure = (
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
################################################################################
|
|
# 3.1.4.2 IEventClass
|
|
# 3.1.4.2.1 get_EventClassID (Opnum 7)
|
|
class IEventClass_get_EventClassID(DCOMCALL):
|
|
opnum = 7
|
|
structure = (
|
|
)
|
|
|
|
class IEventClass_get_EventClassIDResponse(DCOMANSWER):
|
|
structure = (
|
|
('pbstrEventClassID', BSTR),
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.2.2 put_EventClassID (Opnum 8)
|
|
class IEventClass_put_EventClassID(DCOMCALL):
|
|
opnum = 8
|
|
structure = (
|
|
('bstrEventClassID', BSTR),
|
|
)
|
|
|
|
class IEventClass_put_EventClassIDResponse(DCOMANSWER):
|
|
structure = (
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.2.3 get_EventClassName (Opnum 9)
|
|
class IEventClass_get_EventClassName(DCOMCALL):
|
|
opnum = 9
|
|
structure = (
|
|
)
|
|
|
|
class IEventClass_get_EventClassNameResponse(DCOMANSWER):
|
|
structure = (
|
|
('pbstrEventClassName', BSTR),
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.2.4 put_EventClassName (Opnum 10)
|
|
class IEventClass_put_EventClassName(DCOMCALL):
|
|
opnum = 10
|
|
structure = (
|
|
('bstrEventClassName', BSTR),
|
|
)
|
|
|
|
class IEventClass_put_EventClassNameResponse(DCOMANSWER):
|
|
structure = (
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.2.5 get_OwnerSID (Opnum 11)
|
|
class IEventClass_get_OwnerSID(DCOMCALL):
|
|
opnum = 11
|
|
structure = (
|
|
)
|
|
|
|
class IEventClass_get_OwnerSIDResponse(DCOMANSWER):
|
|
structure = (
|
|
('pbstrOwnerSID', BSTR),
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.2.6 put_OwnerSID (Opnum 12)
|
|
class IEventClass_put_OwnerSID(DCOMCALL):
|
|
opnum = 12
|
|
structure = (
|
|
('bstrOwnerSID', BSTR),
|
|
)
|
|
|
|
class IEventClass_put_OwnerSIDResponse(DCOMANSWER):
|
|
structure = (
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.2.7 get_FiringInterfaceID (Opnum 13)
|
|
class IEventClass_get_FiringInterfaceID(DCOMCALL):
|
|
opnum = 13
|
|
structure = (
|
|
)
|
|
|
|
class IEventClass_get_FiringInterfaceIDResponse(DCOMANSWER):
|
|
structure = (
|
|
('pbstrFiringInterfaceID', BSTR),
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.2.8 put_FiringInterfaceID (Opnum 14)
|
|
class IEventClass_put_FiringInterfaceID(DCOMCALL):
|
|
opnum = 14
|
|
structure = (
|
|
('bstrFiringInterfaceID', BSTR),
|
|
)
|
|
|
|
class IEventClass_put_FiringInterfaceIDResponse(DCOMANSWER):
|
|
structure = (
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.2.9 get_Description (Opnum 15)
|
|
class IEventClass_get_Description(DCOMCALL):
|
|
opnum = 15
|
|
structure = (
|
|
)
|
|
|
|
class IEventClass_get_DescriptionResponse(DCOMANSWER):
|
|
structure = (
|
|
('pbstrDescription', BSTR),
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.2.10 put_Description (Opnum 16)
|
|
class IEventClass_put_Description(DCOMCALL):
|
|
opnum = 16
|
|
structure = (
|
|
('bstrDescription', BSTR),
|
|
)
|
|
|
|
class IEventClass_put_DescriptionResponse(DCOMANSWER):
|
|
structure = (
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.2.11 get_TypeLib (Opnum 19)
|
|
class IEventClass_get_TypeLib(DCOMCALL):
|
|
opnum = 19
|
|
structure = (
|
|
)
|
|
|
|
class IEventClass_get_TypeLibResponse(DCOMANSWER):
|
|
structure = (
|
|
('pbstrTypeLib', BSTR),
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.2.12 put_TypeLib (Opnum 20)
|
|
class IEventClass_put_TypeLib(DCOMCALL):
|
|
opnum = 20
|
|
structure = (
|
|
('bstrTypeLib', BSTR),
|
|
)
|
|
|
|
class IEventClass_put_TypeLibResponse(DCOMANSWER):
|
|
structure = (
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
################################################################################
|
|
# 3.1.4.3 IEventClass2
|
|
# 3.1.4.3.1 get_PublisherID (Opnum 21)
|
|
class IEventClass2_get_PublisherID(DCOMCALL):
|
|
opnum = 21
|
|
structure = (
|
|
)
|
|
|
|
class IEventClass2_get_PublisherIDResponse(DCOMANSWER):
|
|
structure = (
|
|
('pbstrSubscriptionID', BSTR),
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.3.2 put_PublisherID (Opnum 22)
|
|
class IEventClass2_put_PublisherID(DCOMCALL):
|
|
opnum = 22
|
|
structure = (
|
|
('bstrPublisherID', BSTR),
|
|
)
|
|
|
|
class IEventClass2_put_PublisherIDResponse(DCOMANSWER):
|
|
structure = (
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.3.3 get_MultiInterfacePublisherFilterCLSID (Opnum 23)
|
|
class IEventClass2_get_MultiInterfacePublisherFilterCLSID(DCOMCALL):
|
|
opnum = 23
|
|
structure = (
|
|
)
|
|
|
|
class IEventClass2_get_MultiInterfacePublisherFilterCLSIDResponse(DCOMANSWER):
|
|
structure = (
|
|
('pbstrPubFilCLSID', BSTR),
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.3.4 put_MultiInterfacePublisherFilterCLSID (Opnum 24)
|
|
class IEventClass2_put_MultiInterfacePublisherFilterCLSID(DCOMCALL):
|
|
opnum = 24
|
|
structure = (
|
|
('bstrPubFilCLSID', BSTR),
|
|
)
|
|
|
|
class IEventClass2_put_MultiInterfacePublisherFilterCLSIDResponse(DCOMANSWER):
|
|
structure = (
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.3.5 get_AllowInprocActivation (Opnum 25)
|
|
class IEventClass2_get_AllowInprocActivation(DCOMCALL):
|
|
opnum = 25
|
|
structure = (
|
|
)
|
|
|
|
class IEventClass2_get_AllowInprocActivationResponse(DCOMANSWER):
|
|
structure = (
|
|
('pfAllowInprocActivation', BOOLEAN),
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.3.6 put_AllowInprocActivation (Opnum 26)
|
|
class IEventClass2_put_AllowInprocActivation(DCOMCALL):
|
|
opnum = 26
|
|
structure = (
|
|
('fAllowInprocActivation', BOOLEAN),
|
|
)
|
|
|
|
class IEventClass2_put_AllowInprocActivationResponse(DCOMANSWER):
|
|
structure = (
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.3.7 get_FireInParallel (Opnum 27)
|
|
class IEventClass2_get_FireInParallel(DCOMCALL):
|
|
opnum = 27
|
|
structure = (
|
|
)
|
|
|
|
class IEventClass2_get_FireInParallelResponse(DCOMANSWER):
|
|
structure = (
|
|
('pfFireInParallel', BOOLEAN),
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.3.8 put_FireInParallel (Opnum 28)
|
|
class IEventClass2_put_FireInParallel(DCOMCALL):
|
|
opnum = 28
|
|
structure = (
|
|
('pfFireInParallel', BOOLEAN),
|
|
)
|
|
|
|
class IEventClass2_put_FireInParallelResponse(DCOMANSWER):
|
|
structure = (
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
################################################################################
|
|
# 3.1.4.4 IEventSubscription
|
|
# 3.1.4.4.1 get_SubscriptionID (Opnum 7)
|
|
class IEventSubscription_get_SubscriptionID(DCOMCALL):
|
|
opnum = 7
|
|
structure = (
|
|
)
|
|
|
|
class IEventSubscription_get_SubscriptionIDResponse(DCOMANSWER):
|
|
structure = (
|
|
('pbstrSubscriptionID', BSTR),
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.4.2 put_SubscriptionID (Opnum 8)
|
|
class IEventSubscription_put_SubscriptionID(DCOMCALL):
|
|
opnum = 8
|
|
structure = (
|
|
('bstrSubscriptionID', BSTR),
|
|
)
|
|
|
|
class IEventSubscription_put_SubscriptionIDResponse(DCOMANSWER):
|
|
structure = (
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.4.3 get_SubscriptionName (Opnum 9)
|
|
class IEventSubscription_get_SubscriptionName(DCOMCALL):
|
|
opnum = 9
|
|
structure = (
|
|
)
|
|
|
|
class IEventSubscription_get_SubscriptionNameResponse(DCOMANSWER):
|
|
structure = (
|
|
('pbstrSubscriptionName', BSTR),
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.4.4 put_SubscriptionName (Opnum 10)
|
|
class IEventSubscription_put_SubscriptionName(DCOMCALL):
|
|
opnum = 10
|
|
structure = (
|
|
('strSubscriptionID', BSTR),
|
|
)
|
|
|
|
class IEventSubscription_put_SubscriptionNameResponse(DCOMANSWER):
|
|
structure = (
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.4.5 get_PublisherID (Opnum 11)
|
|
class IEventSubscription_get_PublisherID(DCOMCALL):
|
|
opnum = 11
|
|
structure = (
|
|
)
|
|
|
|
class IEventSubscription_get_PublisherIDResponse(DCOMANSWER):
|
|
structure = (
|
|
('pbstrPublisherID', BSTR),
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.4.6 put_PublisherID (Opnum 12)
|
|
class IEventSubscription_put_PublisherID(DCOMCALL):
|
|
opnum = 12
|
|
structure = (
|
|
('bstrPublisherID', BSTR),
|
|
)
|
|
|
|
class IEventSubscription_put_PublisherIDResponse(DCOMANSWER):
|
|
structure = (
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.4.7 get_EventClassID (Opnum 13)
|
|
class IEventSubscription_get_EventClassID(DCOMCALL):
|
|
opnum = 13
|
|
structure = (
|
|
)
|
|
|
|
class IEventSubscription_get_EventClassIDResponse(DCOMANSWER):
|
|
structure = (
|
|
('pbstrEventClassID', BSTR),
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.4.8 put_EventClassID (Opnum 14)
|
|
class IEventSubscription_put_EventClassID(DCOMCALL):
|
|
opnum = 14
|
|
structure = (
|
|
('bstrEventClassID', BSTR),
|
|
)
|
|
|
|
class IEventSubscription_put_EventClassIDResponse(DCOMANSWER):
|
|
structure = (
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.4.9 get_MethodName (Opnum 15)
|
|
class IEventSubscription_get_MethodName(DCOMCALL):
|
|
opnum = 15
|
|
structure = (
|
|
)
|
|
|
|
class IEventSubscription_get_MethodNameResponse(DCOMANSWER):
|
|
structure = (
|
|
('pbstrMethodName', BSTR),
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.4.10 put_MethodName (Opnum 16)
|
|
class IEventSubscription_put_MethodName(DCOMCALL):
|
|
opnum = 16
|
|
structure = (
|
|
('bstrMethodName', BSTR),
|
|
)
|
|
|
|
class IEventSubscription_put_MethodNameResponse(DCOMANSWER):
|
|
structure = (
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.4.11 get_SubscriberCLSID (Opnum 17)
|
|
class IEventSubscription_get_SubscriberCLSID(DCOMCALL):
|
|
opnum = 17
|
|
structure = (
|
|
)
|
|
|
|
class IEventSubscription_get_SubscriberCLSIDResponse(DCOMANSWER):
|
|
structure = (
|
|
('pbstrSubscriberCLSID', BSTR),
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.4.12 put_SubscriberCLSID (Opnum 18)
|
|
class IEventSubscription_put_SubscriberCLSID(DCOMCALL):
|
|
opnum = 18
|
|
structure = (
|
|
('bstrSubscriberCLSID', BSTR),
|
|
)
|
|
|
|
class IEventSubscription_put_SubscriberCLSIDResponse(DCOMANSWER):
|
|
structure = (
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.4.13 get_SubscriberInterface (Opnum 19)
|
|
class IEventSubscription_get_SubscriberInterface(DCOMCALL):
|
|
opnum = 19
|
|
structure = (
|
|
)
|
|
|
|
class IEventSubscription_get_SubscriberInterfaceResponse(DCOMANSWER):
|
|
structure = (
|
|
('ppSubscriberInterface', PMInterfacePointer),
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.4.14 put_SubscriberInterface (Opnum 20)
|
|
class IEventSubscription_put_SubscriberInterface(DCOMCALL):
|
|
opnum = 20
|
|
structure = (
|
|
('pSubscriberInterface', PMInterfacePointer),
|
|
)
|
|
|
|
class IEventSubscription_put_SubscriberInterfaceResponse(DCOMANSWER):
|
|
structure = (
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.4.15 get_PerUser (Opnum 21)
|
|
class IEventSubscription_get_PerUser(DCOMCALL):
|
|
opnum = 21
|
|
structure = (
|
|
)
|
|
|
|
class IEventSubscription_get_PerUserResponse(DCOMANSWER):
|
|
structure = (
|
|
('pfPerUser', BOOLEAN),
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.4.16 put_PerUser (Opnum 22)
|
|
class IEventSubscription_put_PerUser(DCOMCALL):
|
|
opnum = 22
|
|
structure = (
|
|
('fPerUser', BOOLEAN),
|
|
)
|
|
|
|
class IEventSubscription_put_PerUserResponse(DCOMANSWER):
|
|
structure = (
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.4.17 get_OwnerSID (Opnum 23)
|
|
class IEventSubscription_get_OwnerSID(DCOMCALL):
|
|
opnum = 23
|
|
structure = (
|
|
)
|
|
|
|
class IEventSubscription_get_OwnerSIDResponse(DCOMANSWER):
|
|
structure = (
|
|
('pbstrOwnerSID', BSTR),
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.4.18 put_OwnerSID (Opnum 24)
|
|
class IEventSubscription_put_OwnerSID(DCOMCALL):
|
|
opnum = 24
|
|
structure = (
|
|
('bstrOwnerSID', BSTR),
|
|
)
|
|
|
|
class IEventSubscription_put_OwnerSIDResponse(DCOMANSWER):
|
|
structure = (
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.4.19 get_Enabled (Opnum 25)
|
|
class IEventSubscription_get_Enabled(DCOMCALL):
|
|
opnum = 25
|
|
structure = (
|
|
)
|
|
|
|
class IEventSubscription_get_EnabledResponse(DCOMANSWER):
|
|
structure = (
|
|
('pfEnabled', BOOLEAN),
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.4.20 put_Enabled (Opnum 26)
|
|
class IEventSubscription_put_Enabled(DCOMCALL):
|
|
opnum = 26
|
|
structure = (
|
|
('fEnabled', BOOLEAN),
|
|
)
|
|
|
|
class IEventSubscription_put_EnabledResponse(DCOMANSWER):
|
|
structure = (
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.4.21 get_Description (Opnum 27)
|
|
class IEventSubscription_get_Description(DCOMCALL):
|
|
opnum = 27
|
|
structure = (
|
|
)
|
|
|
|
class IEventSubscription_get_DescriptionResponse(DCOMANSWER):
|
|
structure = (
|
|
('pbstrDescription', BSTR),
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.4.22 put_Description (Opnum 28)
|
|
class IEventSubscription_put_Description(DCOMCALL):
|
|
opnum = 28
|
|
structure = (
|
|
('bstrDescription', BSTR),
|
|
)
|
|
|
|
class IEventSubscription_put_DescriptionResponse(DCOMANSWER):
|
|
structure = (
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.4.23 get_MachineName (Opnum 29)
|
|
class IEventSubscription_get_MachineName(DCOMCALL):
|
|
opnum = 29
|
|
structure = (
|
|
)
|
|
|
|
class IEventSubscription_get_MachineNameResponse(DCOMANSWER):
|
|
structure = (
|
|
('pbstrMachineName', BSTR),
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.4.24 put_MachineName (Opnum 30)
|
|
class IEventSubscription_put_MachineName(DCOMCALL):
|
|
opnum = 30
|
|
structure = (
|
|
('bstrMachineName', BSTR),
|
|
)
|
|
|
|
class IEventSubscription_put_MachineNameResponse(DCOMANSWER):
|
|
structure = (
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.4.25 GetPublisherProperty (Opnum 31)
|
|
class IEventSubscription_GetPublisherProperty(DCOMCALL):
|
|
opnum = 31
|
|
structure = (
|
|
('bstrPropertyName', BSTR),
|
|
)
|
|
|
|
class IEventSubscription_GetPublisherPropertyResponse(DCOMANSWER):
|
|
structure = (
|
|
('propertyValue', VARIANT),
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.4.26 PutPublisherProperty (Opnum 32)
|
|
class IEventSubscription_PutPublisherProperty(DCOMCALL):
|
|
opnum = 32
|
|
structure = (
|
|
('bstrPropertyName', BSTR),
|
|
('propertyValue', VARIANT),
|
|
)
|
|
|
|
class IEventSubscription_PutPublisherPropertyResponse(DCOMANSWER):
|
|
structure = (
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.4.27 RemovePublisherProperty (Opnum 33)
|
|
class IEventSubscription_RemovePublisherProperty(DCOMCALL):
|
|
opnum = 33
|
|
structure = (
|
|
('bstrPropertyName', BSTR),
|
|
)
|
|
|
|
class IEventSubscription_RemovePublisherPropertyResponse(DCOMANSWER):
|
|
structure = (
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.4.28 GetPublisherPropertyCollection (Opnum 34)
|
|
class IEventSubscription_GetPublisherPropertyCollection(DCOMCALL):
|
|
opnum = 34
|
|
structure = (
|
|
)
|
|
|
|
class IEventSubscription_GetPublisherPropertyCollectionResponse(DCOMANSWER):
|
|
structure = (
|
|
('collection', PMInterfacePointer),
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.4.29 GetSubscriberProperty (Opnum 35)
|
|
class IEventSubscription_GetSubscriberProperty(DCOMCALL):
|
|
opnum = 35
|
|
structure = (
|
|
('bstrPropertyName', BSTR),
|
|
)
|
|
|
|
class IEventSubscription_GetSubscriberPropertyResponse(DCOMANSWER):
|
|
structure = (
|
|
('propertyValue', VARIANT),
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.4.30 PutSubscriberProperty (Opnum 36)
|
|
class IEventSubscription_PutSubscriberProperty(DCOMCALL):
|
|
opnum = 36
|
|
structure = (
|
|
('bstrPropertyName', BSTR),
|
|
('propertyValue', VARIANT),
|
|
)
|
|
|
|
class IEventSubscription_PutSubscriberPropertyResponse(DCOMANSWER):
|
|
structure = (
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.4.31 RemoveSubscriberProperty (Opnum 37)
|
|
class IEventSubscription_RemoveSubscriberProperty(DCOMCALL):
|
|
opnum = 37
|
|
structure = (
|
|
('bstrPropertyName', BSTR),
|
|
)
|
|
|
|
class IEventSubscription_RemoveSubscriberPropertyResponse(DCOMANSWER):
|
|
structure = (
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.4.32 GetSubscriberPropertyCollection (Opnum 38)
|
|
class IEventSubscription_GetSubscriberPropertyCollection(DCOMCALL):
|
|
opnum = 38
|
|
structure = (
|
|
)
|
|
|
|
class IEventSubscription_GetSubscriberPropertyCollectionResponse(DCOMANSWER):
|
|
structure = (
|
|
('collection', PMInterfacePointer),
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.4.33 get_InterfaceID (Opnum 39)
|
|
class IEventSubscription_get_InterfaceID(DCOMCALL):
|
|
opnum = 39
|
|
structure = (
|
|
)
|
|
|
|
class IEventSubscription_get_InterfaceIDResponse(DCOMANSWER):
|
|
structure = (
|
|
('pbstrInterfaceID', BSTR),
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.4.34 put_InterfaceID (Opnum 40)
|
|
class IEventSubscription_put_InterfaceID(DCOMCALL):
|
|
opnum = 40
|
|
structure = (
|
|
('bstrInterfaceID', BSTR),
|
|
)
|
|
|
|
class IEventSubscription_put_InterfaceIDResponse(DCOMANSWER):
|
|
structure = (
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
################################################################################
|
|
# 3.1.4.5 IEnumEventObject
|
|
# 3.1.4.5.1 Clone (Opnum 3)
|
|
class IEnumEventObject_Clone(DCOMCALL):
|
|
opnum = 3
|
|
structure = (
|
|
)
|
|
|
|
class IEnumEventObject_CloneResponse(DCOMANSWER):
|
|
structure = (
|
|
('ppInterface', PMInterfacePointer),
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.5.2 Next (Opnum 4)
|
|
class IEnumEventObject_Next(DCOMCALL):
|
|
opnum = 4
|
|
structure = (
|
|
('cReqElem', ULONG),
|
|
)
|
|
|
|
class IEnumEventObject_NextResponse(DCOMANSWER):
|
|
structure = (
|
|
('ppInterface', OBJECT_ARRAY),
|
|
('cRetElem', ULONG),
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.5.3 Reset (Opnum 5)
|
|
class IEnumEventObject_Reset(DCOMCALL):
|
|
opnum = 5
|
|
structure = (
|
|
)
|
|
|
|
class IEnumEventObject_ResetResponse(DCOMANSWER):
|
|
structure = (
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.5.4 Skip (Opnum 6)
|
|
class IEnumEventObject_Skip(DCOMCALL):
|
|
opnum = 6
|
|
structure = (
|
|
('cSkipElem', ULONG),
|
|
)
|
|
|
|
class IEnumEventObject_SkipResponse(DCOMANSWER):
|
|
structure = (
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
################################################################################
|
|
# 3.1.4.6 IEventObjectCollection
|
|
# 3.1.4.6.1 get__NewEnum (Opnum 7)
|
|
class IEventObjectCollection_get__NewEnum(DCOMCALL):
|
|
opnum = 7
|
|
structure = (
|
|
)
|
|
|
|
class IEventObjectCollection_get__NewEnumResponse(DCOMANSWER):
|
|
structure = (
|
|
('ppUnkEnum', PMInterfacePointer),
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.6.2 get_Item (Opnum 8)
|
|
class IEventObjectCollection_get_Item(DCOMCALL):
|
|
opnum = 8
|
|
structure = (
|
|
('objectID', BSTR),
|
|
)
|
|
|
|
class IEventObjectCollection_get_ItemResponse(DCOMANSWER):
|
|
structure = (
|
|
('pItem', VARIANT),
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.6.3 get_NewEnum (Opnum 9)
|
|
class IEventObjectCollection_get_NewEnum(DCOMCALL):
|
|
opnum = 9
|
|
structure = (
|
|
)
|
|
|
|
class IEventObjectCollection_get_NewEnumResponse(DCOMANSWER):
|
|
structure = (
|
|
('ppEnum', PMInterfacePointer),
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.6.4 get_Count (Opnum 10)
|
|
class IEventObjectCollection_get_Count(DCOMCALL):
|
|
opnum = 10
|
|
structure = (
|
|
)
|
|
|
|
class IEventObjectCollection_get_CountResponse(DCOMANSWER):
|
|
structure = (
|
|
('pCount', LONG),
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.6.5 Add (Opnum 11)
|
|
class IEventObjectCollection_Add(DCOMCALL):
|
|
opnum = 11
|
|
structure = (
|
|
('item', VARIANT),
|
|
('objectID', BSTR),
|
|
)
|
|
|
|
class IEventObjectCollection_AddResponse(DCOMANSWER):
|
|
structure = (
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.6.6 Remove (Opnum 12)
|
|
class IEventObjectCollection_Remove(DCOMCALL):
|
|
opnum = 12
|
|
structure = (
|
|
('objectID', BSTR),
|
|
)
|
|
|
|
class IEventObjectCollection_RemoveResponse(DCOMANSWER):
|
|
structure = (
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
################################################################################
|
|
# 3.1.4.7 IEventClass3
|
|
# 3.1.4.7.1 get_EventClassPartitionID (Opnum 29)
|
|
class IEventClass3_get_EventClassPartitionID(DCOMCALL):
|
|
opnum = 29
|
|
structure = (
|
|
)
|
|
|
|
class IEventClass3_get_EventClassPartitionIDResponse(DCOMANSWER):
|
|
structure = (
|
|
('pbstrEventClassPartitionID', BSTR),
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.7.2 put_EventClassPartitionID (Opnum 30)
|
|
class IEventClass3_put_EventClassPartitionID(DCOMCALL):
|
|
opnum = 30
|
|
structure = (
|
|
('bstrEventClassPartitionID', BSTR),
|
|
)
|
|
|
|
class IEventClass3_put_EventClassPartitionIDResponse(DCOMANSWER):
|
|
structure = (
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.7.3 get_EventClassApplicationID (Opnum 31)
|
|
class IEventClass3_get_EventClassApplicationID(DCOMCALL):
|
|
opnum = 31
|
|
structure = (
|
|
)
|
|
|
|
class IEventClass3_get_EventClassApplicationIDResponse(DCOMANSWER):
|
|
structure = (
|
|
('pbstrEventClassApplicationID', BSTR),
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.7.4 put_EventClassApplicationID (Opnum 32)
|
|
class IEventClass3_put_EventClassApplicationID(DCOMCALL):
|
|
opnum = 32
|
|
structure = (
|
|
('bstrEventClassApplicationID', BSTR),
|
|
)
|
|
|
|
class IEventClass3_put_EventClassApplicationIDResponse(DCOMANSWER):
|
|
structure = (
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
################################################################################
|
|
# 3.1.4.8 IEventSubscription2
|
|
# 3.1.4.8.1 get_FilterCriteria (Opnum 41)
|
|
class IEventSubscription2_get_FilterCriteria(DCOMCALL):
|
|
opnum = 41
|
|
structure = (
|
|
)
|
|
|
|
class IEventSubscription2_get_FilterCriteriaResponse(DCOMANSWER):
|
|
structure = (
|
|
('pbstrFilterCriteria', BSTR),
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.8.2 put_FilterCriteria (Opnum 42)
|
|
class IEventSubscription2_put_FilterCriteria(DCOMCALL):
|
|
opnum = 42
|
|
structure = (
|
|
('bstrFilterCriteria', BSTR),
|
|
)
|
|
|
|
class IEventSubscription2_put_FilterCriteriaResponse(DCOMANSWER):
|
|
structure = (
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.8.3 get_SubscriberMoniker (Opnum 43)
|
|
class IEventSubscription2_get_SubscriberMoniker(DCOMCALL):
|
|
opnum = 43
|
|
structure = (
|
|
)
|
|
|
|
class IEventSubscription2_get_SubscriberMonikerResponse(DCOMANSWER):
|
|
structure = (
|
|
('pbstrMoniker', BSTR),
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.8.4 put_SubscriberMoniker (Opnum 44)
|
|
class IEventSubscription2_put_SubscriberMoniker(DCOMCALL):
|
|
opnum = 44
|
|
structure = (
|
|
('bstrMoniker', BSTR),
|
|
)
|
|
|
|
class IEventSubscription2_put_SubscriberMonikerResponse(DCOMANSWER):
|
|
structure = (
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
################################################################################
|
|
# 3.1.4.9 IEventSubscription3
|
|
# 3.1.4.9.1 get_EventClassPartitionID (Opnum 45)
|
|
class IEventSubscription3_get_EventClassPartitionID(DCOMCALL):
|
|
opnum = 45
|
|
structure = (
|
|
)
|
|
|
|
class IEventSubscription3_get_EventClassPartitionIDResponse(DCOMANSWER):
|
|
structure = (
|
|
('pbstrEventClassPartitionID', BSTR),
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.9.2 put_EventClassPartitionID (Opnum 46)
|
|
class IEventSubscription3_put_EventClassPartitionID(DCOMCALL):
|
|
opnum = 46
|
|
structure = (
|
|
('bstrEventClassPartitionID', BSTR),
|
|
)
|
|
|
|
class IEventSubscription3_put_EventClassPartitionIDResponse(DCOMANSWER):
|
|
structure = (
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.9.3 get_EventClassApplicationID (Opnum 47)
|
|
class IEventSubscription3_get_EventClassApplicationID(DCOMCALL):
|
|
opnum = 47
|
|
structure = (
|
|
)
|
|
|
|
class IEventSubscription3_get_EventClassApplicationIDResponse(DCOMANSWER):
|
|
structure = (
|
|
('pbstrEventClassApplicationID', BSTR),
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.9.4 put_EventClassApplicationID (Opnum 48)
|
|
class IEventSubscription3_put_EventClassApplicationID(DCOMCALL):
|
|
opnum = 48
|
|
structure = (
|
|
('bstrEventClassPartitionID', BSTR),
|
|
)
|
|
|
|
class IEventSubscription3_put_EventClassApplicationIDResponse(DCOMANSWER):
|
|
structure = (
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.9.5 get_SubscriberPartitionID (Opnum 49)
|
|
class IEventSubscription3_get_SubscriberPartitionID(DCOMCALL):
|
|
opnum = 49
|
|
structure = (
|
|
)
|
|
|
|
class IEventSubscription3_get_SubscriberPartitionIDResponse(DCOMANSWER):
|
|
structure = (
|
|
('pbstrSubscriberPartitionID', BSTR),
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.9.6 put_SubscriberPartitionID (Opnum 50)
|
|
class IEventSubscription3_put_SubscriberPartitionID(DCOMCALL):
|
|
opnum = 50
|
|
structure = (
|
|
('bstrSubscriberPartitionID', BSTR),
|
|
)
|
|
|
|
class IEventSubscription3_put_SubscriberPartitionIDResponse(DCOMANSWER):
|
|
structure = (
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.9.7 get_SubscriberApplicationID (Opnum 51)
|
|
class IEventSubscription3_get_SubscriberApplicationID(DCOMCALL):
|
|
opnum = 51
|
|
structure = (
|
|
)
|
|
|
|
class IEventSubscription3_get_SubscriberApplicationIDResponse(DCOMANSWER):
|
|
structure = (
|
|
('pbstrSubscriberApplicationID', BSTR),
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.9.8 put_SubscriberApplicationID (Opnum 52)
|
|
class IEventSubscription3_put_SubscriberApplicationID(DCOMCALL):
|
|
opnum = 52
|
|
structure = (
|
|
('bstrSubscriberApplicationID', BSTR),
|
|
)
|
|
|
|
class IEventSubscription3_put_SubscriberApplicationIDResponse(DCOMANSWER):
|
|
structure = (
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
################################################################################
|
|
# 3.1.4.10 IEventSystem2
|
|
# 3.1.4.10.1 GetVersion (Opnum 13)
|
|
class IEventSystem2_GetVersion(DCOMCALL):
|
|
opnum = 13
|
|
structure = (
|
|
)
|
|
|
|
class IEventSystem2_GetVersionResponse(DCOMANSWER):
|
|
structure = (
|
|
('pnVersion', INT),
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
# 3.1.4.10.2 VerifyTransientSubscribers (Opnum 14)
|
|
class IEventSystem2_VerifyTransientSubscribers(DCOMCALL):
|
|
opnum = 14
|
|
structure = (
|
|
)
|
|
|
|
class IEventSystem2_VerifyTransientSubscribersResponse(DCOMANSWER):
|
|
structure = (
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
################################################################################
|
|
# 3.1.4.11 IEventSystemInitialize
|
|
# 3.1.4.11.1 SetCOMCatalogBehaviour (Opnum 3)
|
|
class IEventSystemInitialize_SetCOMCatalogBehaviour(DCOMCALL):
|
|
opnum = 3
|
|
structure = (
|
|
('bRetainSubKeys', BOOLEAN),
|
|
)
|
|
|
|
class IEventSystemInitialize_SetCOMCatalogBehaviourResponse(DCOMANSWER):
|
|
structure = (
|
|
('ErrorCode', error_status_t),
|
|
)
|
|
|
|
|
|
################################################################################
|
|
# OPNUMs and their corresponding structures
|
|
################################################################################
|
|
OPNUMS = {
|
|
}
|
|
|
|
################################################################################
|
|
# HELPER FUNCTIONS AND INTERFACES
|
|
################################################################################
|
|
class IEventClass(IDispatch):
|
|
def __init__(self, interface):
|
|
IDispatch.__init__(self,interface)
|
|
self._iid = IID_IEventClass
|
|
|
|
def get_EventClassID(self):
|
|
request = IEventClass_get_EventClassID()
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
resp.dump()
|
|
return resp
|
|
|
|
def put_EventClassID(self,bstrEventClassID):
|
|
request = IEventClass_put_EventClassID()
|
|
request['bstrEventClassID'] = bstrEventClassID
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
resp.dump()
|
|
return resp
|
|
|
|
def get_EventClassName(self):
|
|
request = IEventClass_get_EventClassName()
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
resp.dump()
|
|
return resp
|
|
|
|
def put_EventClassName(self, bstrEventClassName):
|
|
request = IEventClass_put_EventClassName()
|
|
request['bstrEventClassName'] = bstrEventClassName
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
resp.dump()
|
|
return resp
|
|
|
|
def get_OwnerSID(self):
|
|
request = IEventClass_get_OwnerSID()
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
resp.dump()
|
|
return resp
|
|
|
|
def put_OwnerSID(self, bstrOwnerSID):
|
|
request = IEventClass_put_OwnerSID()
|
|
request['bstrOwnerSID'] = bstrOwnerSID
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
resp.dump()
|
|
return resp
|
|
|
|
def get_FiringInterfaceID(self):
|
|
request = IEventClass_get_FiringInterfaceID()
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
resp.dump()
|
|
return resp
|
|
|
|
def put_FiringInterfaceID(self, bstrFiringInterfaceID):
|
|
request = IEventClass_put_FiringInterfaceID()
|
|
request['bstrFiringInterfaceID'] = bstrFiringInterfaceID
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
resp.dump()
|
|
return resp
|
|
|
|
def get_Description(self):
|
|
request = IEventClass_get_Description()
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
resp.dump()
|
|
return resp
|
|
|
|
def put_Description(self, bstrDescription):
|
|
request = IEventClass_put_Description()
|
|
request['bstrDescription'] = bstrDescription
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
resp.dump()
|
|
return resp
|
|
|
|
def get_TypeLib(self):
|
|
request = IEventClass_get_TypeLib()
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
resp.dump()
|
|
return resp
|
|
|
|
def put_TypeLib(self, bstrTypeLib):
|
|
request = IEventClass_put_TypeLib()
|
|
request['bstrTypeLib'] = bstrTypeLib
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
resp.dump()
|
|
return resp
|
|
|
|
class IEventClass2(IEventClass):
|
|
def __init__(self, interface):
|
|
IEventClass.__init__(self,interface)
|
|
self._iid = IID_IEventClass2
|
|
|
|
def get_PublisherID(self):
|
|
request = IEventClass2_get_PublisherID()
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
resp.dump()
|
|
return resp
|
|
|
|
def put_PublisherID(self, bstrPublisherID):
|
|
request = IEventClass2_put_PublisherID()
|
|
request['bstrPublisherID'] = bstrPublisherID
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
resp.dump()
|
|
return resp
|
|
|
|
def get_MultiInterfacePublisherFilterCLSID(self):
|
|
request = IEventClass2_get_MultiInterfacePublisherFilterCLSID()
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
resp.dump()
|
|
return resp
|
|
|
|
def put_MultiInterfacePublisherFilterCLSID(self, bstrPubFilCLSID):
|
|
request = IEventClass2_put_MultiInterfacePublisherFilterCLSID()
|
|
request['bstrPubFilCLSID'] = bstrPubFilCLSID
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
resp.dump()
|
|
return resp
|
|
|
|
def get_AllowInprocActivation(self):
|
|
request = IEventClass2_get_AllowInprocActivation()
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
resp.dump()
|
|
return resp
|
|
|
|
def put_AllowInprocActivation(self, fAllowInprocActivation):
|
|
request = IEventClass2_put_AllowInprocActivation()
|
|
request['fAllowInprocActivation '] = fAllowInprocActivation
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
resp.dump()
|
|
return resp
|
|
|
|
def get_FireInParallel(self):
|
|
request = IEventClass2_get_FireInParallel()
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
resp.dump()
|
|
return resp
|
|
|
|
def put_FireInParallel(self, fFireInParallel):
|
|
request = IEventClass2_put_FireInParallel()
|
|
request['fFireInParallel '] = fFireInParallel
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
resp.dump()
|
|
return resp
|
|
|
|
class IEventClass3(IEventClass2):
|
|
def __init__(self, interface):
|
|
IEventClass2.__init__(self,interface)
|
|
self._iid = IID_IEventClass3
|
|
|
|
def get_EventClassPartitionID(self):
|
|
request = IEventClass3_get_EventClassPartitionID()
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
resp.dump()
|
|
return resp
|
|
|
|
def put_EventClassPartitionID(self, bstrEventClassPartitionID):
|
|
request = IEventClass3_put_EventClassPartitionID()
|
|
request['bstrEventClassPartitionID '] = bstrEventClassPartitionID
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
resp.dump()
|
|
return resp
|
|
|
|
def get_EventClassApplicationID(self):
|
|
request = IEventClass3_get_EventClassApplicationID()
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
resp.dump()
|
|
return resp
|
|
|
|
def put_EventClassApplicationID(self, bstrEventClassApplicationID):
|
|
request = IEventClass3_put_EventClassApplicationID()
|
|
request['bstrEventClassApplicationID '] = bstrEventClassApplicationID
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
resp.dump()
|
|
return resp
|
|
|
|
class IEventSubscription(IDispatch):
|
|
def __init__(self, interface):
|
|
IDispatch.__init__(self,interface)
|
|
self._iid = IID_IEventSubscription
|
|
|
|
def get_SubscriptionID(self):
|
|
request = IEventSubscription_get_SubscriptionID()
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
resp.dump()
|
|
return resp
|
|
|
|
def put_SubscriptionID(self, bstrSubscriptionID):
|
|
request = IEventSubscription_put_SubscriptionID()
|
|
request['bstrSubscriptionID'] = bstrSubscriptionID
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
resp.dump()
|
|
return resp
|
|
|
|
def get_SubscriptionName(self):
|
|
request = IEventSubscription_get_SubscriptionName()
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
return resp
|
|
|
|
def put_SubscriptionName(self, bstrSubscriptionName):
|
|
request = IEventSubscription_put_SubscriptionName()
|
|
request['bstrSubscriptionName'] = bstrSubscriptionName
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
resp.dump()
|
|
return resp
|
|
|
|
def get_PublisherID(self):
|
|
request = IEventSubscription_get_PublisherID()
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
resp.dump()
|
|
return resp
|
|
|
|
def put_PublisherID(self, bstrPublisherID):
|
|
request = IEventSubscription_put_PublisherID()
|
|
request['bstrPublisherID'] = bstrPublisherID
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
resp.dump()
|
|
return resp
|
|
|
|
def get_EventClassID(self):
|
|
request = IEventSubscription_get_EventClassID()
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
resp.dump()
|
|
return resp
|
|
|
|
def put_EventClassID(self, pbstrEventClassID):
|
|
request = IEventSubscription_put_EventClassID()
|
|
request['pbstrEventClassID'] = pbstrEventClassID
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
resp.dump()
|
|
return resp
|
|
|
|
def get_MethodName(self):
|
|
request = IEventSubscription_get_MethodName()
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
resp.dump()
|
|
return resp
|
|
|
|
def put_MethodName(self, bstrMethodName):
|
|
request = IEventSubscription_put_MethodName()
|
|
request['bstrMethodName'] = bstrMethodName
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
resp.dump()
|
|
return resp
|
|
|
|
def get_SubscriberCLSID(self):
|
|
request = IEventSubscription_get_SubscriberCLSID()
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
resp.dump()
|
|
return resp
|
|
|
|
def put_SubscriberCLSID(self, bstrSubscriberCLSID):
|
|
request = IEventSubscription_put_SubscriberCLSID()
|
|
request['bstrSubscriberCLSID'] = bstrSubscriberCLSID
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
resp.dump()
|
|
return resp
|
|
|
|
def get_SubscriberInterface(self):
|
|
request = IEventSubscription_get_SubscriberInterface()
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
resp.dump()
|
|
return resp
|
|
|
|
def put_SubscriberInterface(self, pSubscriberInterface):
|
|
request = IEventSubscription_put_SubscriberInterface()
|
|
request['pSubscriberInterface'] = pSubscriberInterface
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
resp.dump()
|
|
return resp
|
|
|
|
def get_PerUser(self):
|
|
request = IEventSubscription_get_PerUser()
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
resp.dump()
|
|
return resp
|
|
|
|
def put_PerUser(self, fPerUser):
|
|
request = IEventSubscription_put_PerUser()
|
|
request['fPerUser'] = fPerUser
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
resp.dump()
|
|
return resp
|
|
|
|
def get_OwnerSID(self):
|
|
request = IEventSubscription_get_OwnerSID()
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
resp.dump()
|
|
return resp
|
|
|
|
def put_OwnerSID(self, bstrOwnerSID):
|
|
request = IEventSubscription_put_OwnerSID()
|
|
request['bstrOwnerSID'] = bstrOwnerSID
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
resp.dump()
|
|
return resp
|
|
|
|
def get_Enabled(self):
|
|
request = IEventSubscription_get_Enabled()
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
resp.dump()
|
|
return resp
|
|
|
|
def put_Enabled(self, fEnabled):
|
|
request = IEventSubscription_put_Enabled()
|
|
request['fEnabled'] = fEnabled
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
resp.dump()
|
|
return resp
|
|
|
|
def get_Description(self):
|
|
request = IEventSubscription_get_Description()
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
resp.dump()
|
|
return resp
|
|
|
|
def put_Description(self, bstrDescription):
|
|
request = IEventSubscription_put_Description()
|
|
request['bstrDescription'] = bstrDescription
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
resp.dump()
|
|
return resp
|
|
|
|
def get_MachineName(self):
|
|
request = IEventSubscription_get_MachineName()
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
resp.dump()
|
|
return resp
|
|
|
|
def put_MachineName(self, bstrMachineName):
|
|
request = IEventSubscription_put_MachineName()
|
|
request['bstrMachineName'] = bstrMachineName
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
resp.dump()
|
|
return resp
|
|
|
|
def GetPublisherProperty(self):
|
|
request = IEventSubscription_GetPublisherProperty()
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
resp.dump()
|
|
return resp
|
|
|
|
def PutPublisherProperty(self, bstrPropertyName, propertyValue):
|
|
request = IEventSubscription_PutPublisherProperty()
|
|
request['bstrPropertyName'] = bstrPropertyName
|
|
request['propertyValue'] = propertyValue
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
resp.dump()
|
|
return resp
|
|
|
|
def RemovePublisherProperty(self, bstrPropertyName):
|
|
request = IEventSubscription_RemovePublisherProperty()
|
|
request['bstrPropertyName'] = bstrPropertyName
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
resp.dump()
|
|
return resp
|
|
|
|
def GetPublisherPropertyCollection(self):
|
|
request = IEventSubscription_GetPublisherPropertyCollection()
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
resp.dump()
|
|
return resp
|
|
|
|
def GetSubscriberProperty(self):
|
|
request = IEventSubscription_GetSubscriberProperty()
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
resp.dump()
|
|
return resp
|
|
|
|
def PutSubscriberProperty(self, bstrPropertyName, propertyValue):
|
|
request = IEventSubscription_PutSubscriberProperty()
|
|
request['bstrPropertyName'] = bstrPropertyName
|
|
request['propertyValue'] = propertyValue
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
resp.dump()
|
|
return resp
|
|
|
|
def RemoveSubscriberProperty(self, bstrPropertyName):
|
|
request = IEventSubscription_RemoveSubscriberProperty()
|
|
request['bstrPropertyName'] = bstrPropertyName
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
resp.dump()
|
|
return resp
|
|
|
|
def GetSubscriberPropertyCollection(self):
|
|
request = IEventSubscription_GetSubscriberPropertyCollection()
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
resp.dump()
|
|
return resp
|
|
|
|
def get_InterfaceID(self):
|
|
request = IEventSubscription_get_InterfaceID()
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
resp.dump()
|
|
return resp
|
|
|
|
def put_InterfaceID(self, bstrInterfaceID):
|
|
request = IEventSubscription_put_InterfaceID()
|
|
request['bstrInterfaceID'] = bstrInterfaceID
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
resp.dump()
|
|
return resp
|
|
|
|
class IEventSubscription2(IEventSubscription):
|
|
def __init__(self, interface):
|
|
IEventSubscription.__init__(self,interface)
|
|
self._iid = IID_IEventSubscription2
|
|
|
|
def get_FilterCriteria(self):
|
|
request = IEventSubscription2_get_FilterCriteria()
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
resp.dump()
|
|
return resp
|
|
|
|
def put_FilterCriteria(self, bstrFilterCriteria):
|
|
request = IEventSubscription2_put_FilterCriteria()
|
|
request['bstrFilterCriteria'] = bstrFilterCriteria
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
resp.dump()
|
|
return resp
|
|
|
|
def get_SubscriberMoniker (self):
|
|
request = IEventSubscription2_get_SubscriberMoniker ()
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
resp.dump()
|
|
return resp
|
|
|
|
def put_SubscriberMoniker(self, bstrMoniker):
|
|
request = IEventSubscription2_put_SubscriberMoniker()
|
|
request['bstrMoniker'] = bstrMoniker
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
resp.dump()
|
|
return resp
|
|
|
|
class IEventSubscription3(IEventSubscription2):
|
|
def __init__(self, interface):
|
|
IEventSubscription2.__init__(self,interface)
|
|
self._iid = IID_IEventSubscription3
|
|
|
|
def get_EventClassPartitionID(self):
|
|
request = IEventSubscription3_get_EventClassPartitionID()
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
resp.dump()
|
|
return resp
|
|
|
|
def put_EventClassPartitionID(self, bstrEventClassPartitionID):
|
|
request = IEventSubscription3_put_EventClassPartitionID()
|
|
request['bstrEventClassPartitionID'] = bstrEventClassPartitionID
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
resp.dump()
|
|
return resp
|
|
|
|
def get_EventClassApplicationID(self):
|
|
request = IEventSubscription3_get_EventClassApplicationID()
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
resp.dump()
|
|
return resp
|
|
|
|
def put_EventClassApplicationID(self, bstrEventClassApplicationID):
|
|
request = IEventSubscription3_put_EventClassApplicationID()
|
|
request['bstrEventClassApplicationID'] = bstrEventClassApplicationID
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
resp.dump()
|
|
return resp
|
|
|
|
def get_SubscriberPartitionID(self):
|
|
request = IEventSubscription3_get_SubscriberPartitionID()
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
resp.dump()
|
|
return resp
|
|
|
|
def put_SubscriberPartitionID(self, bstrSubscriberPartitionID):
|
|
request = IEventSubscription3_put_SubscriberPartitionID()
|
|
request['bstrSubscriberPartitionID'] = bstrSubscriberPartitionID
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
resp.dump()
|
|
return resp
|
|
|
|
def get_SubscriberApplicationID(self):
|
|
request = IEventSubscription3_get_SubscriberApplicationID()
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
resp.dump()
|
|
return resp
|
|
|
|
def put_SubscriberApplicationID(self, bstrSubscriberApplicationID):
|
|
request = IEventSubscription3_put_SubscriberApplicationID()
|
|
request['bstrSubscriberApplicationID'] = bstrSubscriberApplicationID
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
resp.dump()
|
|
return resp
|
|
|
|
|
|
class IEnumEventObject(IDispatch):
|
|
def __init__(self, interface):
|
|
IDispatch.__init__(self,interface)
|
|
self._iid = IID_IEnumEventObject
|
|
|
|
def Clone(self):
|
|
request = IEnumEventObject_Clone()
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
return IEnumEventObject(INTERFACE(self.get_cinstance(), ''.join(resp['ppInterface']['abData']), self.get_ipidRemUnknown(), target = self.get_target()))
|
|
|
|
def Next(self, cReqElem):
|
|
request = IEnumEventObject_Next()
|
|
request['cReqElem'] = cReqElem
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
interfaces = list()
|
|
for interface in resp['ppInterface']:
|
|
interfaces.append(IEventClass2(INTERFACE(self.get_cinstance(), ''.join(interface['abData']), self.get_ipidRemUnknown(), target = self.get_target())))
|
|
return interfaces
|
|
|
|
def Reset(self):
|
|
request = IEnumEventObject_Reset()
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
return resp
|
|
|
|
def Skip(self, cSkipElem):
|
|
request = IEnumEventObject_Skip()
|
|
request['cSkipElem'] = cSkipElem
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
return resp
|
|
|
|
class IEventObjectCollection(IDispatch):
|
|
def __init__(self, interface):
|
|
IDispatch.__init__(self,interface)
|
|
self._iid = IID_IEventObjectCollection
|
|
|
|
def get__NewEnum(self):
|
|
request = IEventObjectCollection_get__NewEnum()
|
|
resp = self.request(request, iid = self._iid , uuid = self.get_iPid())
|
|
return IEnumEventObject(INTERFACE(self.get_cinstance(), ''.join(resp['ppEnum']['abData']), self.get_ipidRemUnknown(), target = self._get_target()))
|
|
|
|
def get_Item(self, objectID):
|
|
request = IEventObjectCollection_get_Item()
|
|
request['objectID']['asData'] = objectID
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
return resp
|
|
|
|
def get_NewEnum(self):
|
|
request = IEventObjectCollection_get_NewEnum()
|
|
resp = self.request(request, iid = self._iid , uuid = self.get_iPid())
|
|
return IEnumEventObject(INTERFACE(self.get_cinstance(), ''.join(resp['ppEnum']['abData']), self.get_ipidRemUnknown(), target = self.get_target()))
|
|
|
|
def get_Count(self):
|
|
request = IEventObjectCollection_get_Count()
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
return resp
|
|
|
|
def Add(self, item, objectID):
|
|
request = IEventObjectCollection_Add()
|
|
request['item'] = item
|
|
request['objectID']['asData'] = objectID
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
return resp
|
|
|
|
def Remove(self, objectID):
|
|
request = IEventObjectCollection_Remove()
|
|
request['objectID']['asData'] = objectID
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
return resp
|
|
|
|
class IEventSystem(IDispatch):
|
|
def __init__(self, interface):
|
|
IDispatch.__init__(self,interface)
|
|
self._iid = IID_IEventSystem
|
|
|
|
def Query(self, progID, queryCriteria):
|
|
request = IEventSystem_Query()
|
|
request['progID']['asData']=progID
|
|
request['queryCriteria']['asData']=queryCriteria
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
iInterface = IDispatch(INTERFACE(self.get_cinstance(), ''.join(resp['ppInterface']['abData']), self.get_ipidRemUnknown(), target = self.get_target()))
|
|
return IEventObjectCollection(iInterface.RemQueryInterface(1, (IID_IEventObjectCollection,)))
|
|
|
|
def Store(self, progID, pInterface):
|
|
request = IEventSystem_Store()
|
|
request['progID']['asData']=progID
|
|
request['pInterface'] = pInterface
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
return resp
|
|
|
|
def Remove(self, progID, queryCriteria):
|
|
request = IEventSystem_Remove()
|
|
request['progID']['asData']=progID
|
|
request['queryCriteria'] = queryCriteria
|
|
resp = self.request(request, uuid = self.get_iPid())
|
|
return resp
|
|
|
|
def get_EventObjectChangeEventClassID(self):
|
|
request = IEventSystem_get_EventObjectChangeEventClassID()
|
|
resp = self.request(request, uuid = self.get_iPid())
|
|
return resp
|
|
|
|
def QueryS(self,progID, queryCriteria):
|
|
request = IEventSystem_QueryS()
|
|
request['progID']['asData']=progID
|
|
request['queryCriteria']['asData']=queryCriteria
|
|
resp = self.request(request, uuid = self.get_iPid())
|
|
iInterface = IDispatch(INTERFACE(self.get_cinstance(), ''.join(resp['ppInterface']['abData']), self.get_ipidRemUnknown(), target = self.get_target()))
|
|
return IEventObjectCollection(iInterface.RemQueryInterface(1, (IID_IEventObjectCollection,)))
|
|
|
|
def RemoveS(self,progID, queryCriteria):
|
|
request = IEventSystem_RemoveS()
|
|
request['progID']['asData']=progID
|
|
request['queryCriteria']['asData']=queryCriteria
|
|
resp = self.request(request, uuid = self.get_iPid())
|
|
return resp
|
|
|
|
class IEventSystem2(IEventSystem):
|
|
def __init__(self, interface):
|
|
IEventSystem.__init__(self,interface)
|
|
self._iid = IID_IEventSystem2
|
|
|
|
def GetVersion(self):
|
|
request = IEventSystem2_GetVersion()
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
return resp
|
|
|
|
def VerifyTransientSubscribers(self):
|
|
request = IEventSystem2_GetVersion()
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
return resp
|
|
|
|
class IEventSystemInitialize(IRemUnknown):
|
|
def __init__(self, interface):
|
|
IRemUnknown.__init__(self,interface)
|
|
self._iid = IID_IEventSystemInitialize
|
|
|
|
def SetCOMCatalogBehaviour(self, bRetainSubKeys):
|
|
request = IEventSystem2_GetVersion()
|
|
request['bRetainSubKeys'] = bRetainSubKeys
|
|
resp = self.request(request, iid = self._iid, uuid = self.get_iPid())
|
|
return resp
|