HEX
Server: Apache/2.4.46 (Win64) OpenSSL/1.1.1j PHP/8.4.25
System: Windows NT DESKTOP-4TAV2RJ 10.0 build 19045 (Windows 10) AMD64
User: fred (0)
PHP: 8.4.25
Disabled: NONE
Upload Files
File: C:/Python311/Lib/site-packages/win32com/server/factory.py
# Class factory utilities.
import pythoncom


def RegisterClassFactories(clsids, flags=None, clsctx=None):
    """Given a list of CLSID, create and register class factories.

    Returns a list, which should be passed to RevokeClassFactories
    """
    if flags is None:
        flags = pythoncom.REGCLS_MULTIPLEUSE | pythoncom.REGCLS_SUSPENDED
    if clsctx is None:
        clsctx = pythoncom.CLSCTX_LOCAL_SERVER
    ret = []
    for clsid in clsids:
        # Some server append '-Embedding' etc
        if clsid[0] not in ["-", "/"]:
            factory = pythoncom.MakePyFactory(clsid)
            regId = pythoncom.CoRegisterClassObject(clsid, factory, clsctx, flags)
            ret.append((factory, regId))
    return ret


def RevokeClassFactories(infos):
    for factory, revokeId in infos:
        pythoncom.CoRevokeClassObject(revokeId)