मैं इंटरफ़ेस परिभाषा (IDL) निम्नलिखित के साथ एक तीसरी पार्टी COM सर्वर तक पहुँचने के लिए की जरूरत है:पायथन Win32 कॉम: 'आउट' पैरामीटर को कैसे संभालें?
interface IDisplay : IDispatch
{
HRESULT getFramebuffer (
[in] ULONG aScreenId,
[out] IFramebuffer * * aFramebuffer,
[out] LONG * aXOrigin,
[out] LONG * aYOrigin);
};
आप देख सकते हैं, यह [बाहर] पैरामीटर modificators के माध्यम से 3 मूल्यों देता है। पाइथन Win32 COM api के माध्यम से इसे कैसे संभालें? उदाहरण के लिए, मैं एक वस्तु बना सकते हैं और इसे से IDisplay मिलती है:
object = win32com.client.Dispatch("VirtualBox.VirtualBox")
display = object.display
कैसे display.getFrameBuffer (कॉल करने के लिए) तो यह काम करेगा? मैंने अलग-अलग तरीकों की कोशिश की है, लेकिन यह हमेशा दूसरे तर्क ([आउट] पर IFrameBuffer के लिए 'टाइप मिस्चैच' है)
मैंने कोशिश की है, यह 'पैरामीटर की अवैध संख्या' बढ़ाता है। मुझे यकीन नहीं है कि COM सर्वर तीसरे पक्ष की है तो MakePy का उपयोग कैसे करें। यह सिस्टम पर बाइनरी और रजिस्टर्स COM सर्वर के रूप में स्थापित है। क्या यह एपीआई बदलना संभव है? – grigoryvp