com

Paths in importlib and #import to COM libraries

I am building a 32-bit C++ COM project on a 64-bit version of Windows 7. The #import looks something like: #import "C:\Program Files\Common Files\Microsoft Shared\CAPICOM\CapiCom.dll" The problem is, on x64, that directory doesn't work. If I change the path to C:\Program Files (x86)..., then the build works. But now it won't build on 3...

Is there any possibility for Interop across a COM/.NET boundary between ADODB.Stream and System.IO.Stream?

I have a COM-Callable Wrapper on a .NET assembly. Some of the methods use streams (System.IO.Stream): either they accept a System.IO.Stream as input, or they return a System.IO.Stream . I'd like to call one of those methods from a COM environment - Classic ASP. Is there any possibility to get interop using ADODB.Stream? In other wo...

Any sense in marking an IUnknown-derived interface as dual in IDL?

Reviewing our code I've found a curious definition in one of .idl files: [ object, uuid(uuidhere), dual, nonextensible, oleautomation, hidden ] interface IOurInterface : IUnknown { //methods here }; How can an interface derived directly from IUnknown possibly be a dual interface? Will anything break if I re...

Manual way to call COM object through .NET

Is there a manual way to call a COM object in the GAC in .NET, without adding it as a reference? The reason I ask is I only know how to code in C# and want to call a .NET COM object and tests that its CMO calls are visible, but obviously you can't add a .NET COM object to a .NET assembly! As you have to reference it, so I was wondering ...

COM interface wrappers in PowerShell?

I have the following code in C# which I try to port to PowerShell. But I don't know how to port this cast: ((_ISkypeEvents_Event)skype).CallStatus += CallStatusHandler; If I just type [Skype4COM.ISkypeEvents_Event] in my PowerShell console I get: Unable to find type [Skype4COM.ISkypeEvents_Event]: make sure that the assembly conta...

Where can I find a list of COM libraries with no .NET equivalent?

Does a list exist that compares and contrasts Windows' COM components with their .NET equivalents, e.g. ADSI <-> System.Directory WMI <-> System.Management etc.? I am especially interested in a list of COM components that have no .NET equivalent. My Google-Fu failed me badly on this one... Thanks! ...

C# - writing a COM server - events not firing on client

I have implemented a COM server in C#, that has a vb6 client. When going to fire my events, the handlers are always null--it appears that the vb6 app never subscribes to my events. The vb6 application is an existing 3rd party app, and appears to give no error messages. Normal methods work just fine from COM client -> server. Is there...

Register ActiveX exe server using WiX

I have several VB6 ActiveX server exe files which need to be registered on install before they can be used. I have tried using Heat to extract the information but it only generates a file element. These files can be registered by calling them with the /regserver switch and unregister by calling them with the /unregserver switch. I unde...

Firing a COM Event From Another Thread

I have created an in-process COM object (DLL) using ATL. Note that this is an object and not a control (so has no window or user-interface.) My problem is that I am trying to fire an event from a second thread and I am getting a 'Catastrophic failure' (0x8000FFFF). If I fire the event from my main thread, then I don't get the error. ...

Registration-Free COM Interop and Dependent Assemblies

Hi folks - We are working on an integration of a large MFC-based application with a handful of managed (.NET) add-ins. Communication with these add-ins is done via COM. Historically, we've just used the registry to make these add-ins available (as COM servers) to the application. But, now we're trying to use registration-free COM inter...

Why Component Object Model (COM)? Is it Language Dependent?

Hello, I'm new to COM. I started learning it. Frankly speaking, I hate it. I'm neither clear about what it is? no why it exists. Is this a programming methodology like OOP? Does programming languages must support it? (with some special keywords or something) When I asked my prof about it, He said: COM is a binary-stable way to d...

Does an ATL COM Object Have a Message Pump?

If you create a new ATL project and add a simple COM object to it (note: an object and not a control) that uses the Apartment threading model, will there be a message pump running under the hood? I want to create a hidden window that is a member of my COM object class but I'm not sure if any messages will actually be delivered to it or ...

How do I import a COM object namespace/enumeration in Python?

I'm relatively new to programming/python, so I'd appreciate any help I can get. I want to save an excel file as a specific format using Excel through COM. Here is the code: import win32com.client as win32 def excel(): app = 'Excel' x1 = win32.gencache.EnsureDispatch('%s.Application' % app) ss = x1.Workbooks.Add() sh...

How can I use Microsoft Word's spelling/grammar checker programmatically?

I want to process a medium to large number of text snippets using a spelling/grammar checker to get a rough approximation and ranking of their "quality." Speed is not really of concern either, so I think the easiest way is to write a script that passes off the snippets to Microsoft Word (2007) and runs its spelling and grammar checker o...

How to list all ActiveX controls?

Is there a way to list/browse all ActiveX controls in the system or for particular application? Can this be done from some administration screen as well as in code? Thx for any help. ...

"Class does not support automation" error when using own class from JScript

Hello, I have a project which exposes object model to use by different types of clients. Written in .Net 3.5 it exposes classes to COM. Problem is while all seems to work from test VB6 client, I faced strange errors while trying to automate it with JScript and Windows Script Host. Here's code snippet: var scComponent = new ActiveXObje...

How to elegantly prevent a webservice proxy from being exposed to COM?

I have a C# assembly that I use as an in-proc COM server consumed by an unmanaged C++ application. The assembly consumes a webservice that will not ever change so there's no need to ever update the webservice proxy classes. That's why the proxy classes are create donce and Reference.cs files are simply put into the repository and only co...

accessing enums in a COM object [jscript]

How do I access an enum that is defined within a COM interface? Specifically, I've created a new instance of an iTunes.Application: var iTunesApp = WScript.CreateObject("iTunes.Application"); ... and I want to be able to use certain enums defined within the COM iTunesTrackCOM.idl File Reference [...] Enumerations [...] ...

Please help in understanding how the pointer referencing works

I am currently reading "Developer's Workshop to COM and ATL 3.0". Chapter 3 introduces GUIDs, referencing and comparisons. Pointers are painful. I could use some help in deciphering the REFGUID #define (see below) and how memcmp in IsEqualGUID works against the pointers. Given: typedef struct_GUID{ unsigned long Data1; u...

Is there a viable counterpart to DCOM in .NET?

I know .net has WCF, which I believe was touted as the replacement for COM when it was codenamed Indigo(?) - but is it actually suitable for use in a .NET app, providing the same functionality as a C++/DCOM application? A DCOM app on a client-server system can be a pain, but I think it's quite efficient compared to other options like we...