This tag is associated with 4 posts

Marshaling a SAFEARRAY of Managed Structures by P/Invoke Part 1.

1. Introduction. 1.1 I have previously written about exchanging SAFEARRAYs of managed structures with unmanaged code via COM interop. 1.2 In this new series of articles, I shall expound on the exchange of such SAFEARRAYs via P/Invoke. 1.3 I have arranged this series of articles into multiple parts. In the first 3 parts, I shall show … Continue reading

The Significance of the COM coclass.

1. Introduction. 1.1 Intermediate COM application developers generally understand the COM development process and are familiar with most of the ubiquitous terms, phrases and concepts, e.g. IUnknown, IDispatch, interfaces, reference counting, interface querying, registration, progID, events, etc. 1.2 The keyword “coclass”, however, remains mysterious and relatively misunderstood. The reason for this is probably due to its perceived lack … Continue reading

Creating a COM Server Using C#.

1. Introduction. 1.1 COM remains a popular technology today and, with tremendous support from managed language compilers, e.g Visual C#, building COM servers in managed code is a viable option. 1.2 This blog is intended for the C# developer who wants to develop COM servers using C#, either to provide managed implementations for some COM-based framework or simply to … Continue reading

Marshaling a SAFEARRAY of Managed Structures by COM Interop Part 1

1. Introduction. 1.1 There are two basic ways to pass an array of managed structures to unmanaged code. These include : By C-style array. By SAFEARRAY. 1.2 In this series of blogs I shall expound on the use of SAFEARRAYs to pass an array of managed structures to unmanaged code. 1.3 In this part 1, I shall provide background information … Continue reading