No se pueden pasar argumentos al objeto ActiveX COM utilizando PyQt4

Estoy tratando de escribir un código de Python para hablar con el control ActiveX de Thorlabs APT. Estoy basando mi código en el código encontradoen esta página, pero tratando de usar el contenedor PyQt4 ActiveX en lugar del contenedor wxPython ActiveX. Funciona para métodos ActiveX muy simples, sin embargo, recibo un error al intentar llamar a un método que toma argumentos.

Este código funciona y muestra el cuadro Acerca de para APT Thorlabs:

import sys
from ctypes import *

from PyQt4 import QtGui
from PyQt4 import QAxContainer

class APTSystem(QAxContainer.QAxWidget):

    def __init__(self, parent):
        self.parent = parent
        super(APTSystem, self).__init__()

        self.setControl('{B74DB4BA-8C1E-4570-906E-FF65698D632E}')

        # calling this method works    
        self.AboutBox()

app = QtGui.QApplication(sys.argv)        
a = APTSystem(app)

Cuando reemplaceself.AboutBox() con un método con argumentos, por ejemplo:

num_units = c_int()
self.GetNumHWUnitsEx(21, byref(num_units))

Me sale un error:TypeError: unable to convert argument 1 of APTSystem.GetNumHWUnitsEx from 'CArgObject' to 'int&'

Supongo que el tipo de argumento debe ser un tipo ctypes. ¿Hay algún tipo de magia que pueda resolver esto?

Respuestas a la pregunta(1)

Su respuesta a la pregunta