class IEnumVdsObject(IRemUnknown2): def Next(self, celt=0xffff): request = IEnumVdsObject_Next() request['ORPCthis'] = self.get_cinstance().get_ORPCthis() request['ORPCthis']['flags'] = 0 request['celt'] = celt try: resp = self.request(request, uuid = self.get_iPid()) except Exception, e: resp = e.get_packet() # If it is S_FALSE(1) means less items were returned if resp['ErrorCode'] != 1: raise interfaces = list() for interface in resp['ppObjectArray']: interfaces.append(IRemUnknown2(INTERFACE(self.get_cinstance(), ''.join(interface['abData']), self.get_ipidRemUnknown(), target = self.get_target()))) return interfaces
def getInterface(self, interface, resp): # Now let's parse the answer and build an Interface instance objRefType = OBJREF(''.join(resp))['flags'] objRef = None if objRefType == FLAGS_OBJREF_CUSTOM: objRef = OBJREF_CUSTOM(''.join(resp)) elif objRefType == FLAGS_OBJREF_HANDLER: objRef = OBJREF_HANDLER(''.join(resp)) elif objRefType == FLAGS_OBJREF_STANDARD: objRef = OBJREF_STANDARD(''.join(resp)) elif objRefType == FLAGS_OBJREF_EXTENDED: objRef = OBJREF_EXTENDED(''.join(resp)) else: logging.error("Unknown OBJREF Type! 0x%x" % objRefType) return IRemUnknown2( INTERFACE(interface.get_cinstance(), None, interface.get_ipidRemUnknown(), objRef['std']['ipid'], oxid=objRef['std']['oxid'], oid=objRef['std']['oxid'], target=interface.get_target()))
def __init__(self, interface): IRemUnknown2.__init__(self, interface)
def __init__(self, interface): IRemUnknown2.__init__(self, interface) self._iid = IID_IVssDifferentialSoftwareSnapshotMgmt
def __init__(self, interface): IRemUnknown2.__init__(self, interface) self._iid = IID_IVssSnapshotMgmt
def __init__(self, interface): IRemUnknown2.__init__(self, interface) self._iid = IID_IVssEnumObject
def __init__(self, interface): IRemUnknown2.__init__(self,interface) self._iid = IID_IDispatch
def __init__(self, interface): IRemUnknown2.__init__(self,interface) self._iid = IID_ITypeInfo
def __init__(self, interface): IRemUnknown2.__init__(self, interface) self._iid = IID_IDispatch
def __init__(self, interface): IRemUnknown2.__init__(self, interface) self._iid = IID_ITypeInfo