Sign in
|
Join
|
Help
Pavel's Blog
Pavel is a software guy that is interested in almost everything
software related... way too much for too little time
Home
Contact
About
RSS
Atom
Comments RSS
Go
Tags
.NET
.NET 4
.NET 4.0
.NET 4.5
.NET2
64 bit
AI
AJAX
Algorithms
ASP.NET
Audio
Azure
BigInteger
BUILD
C#
C# 3.0
C# 4.0
C# 5.0
C++
C++/CX
C++0X
C++11
CLR
CLR Explorer
COM
COM Apartments
Console
courses
D&D
Debugging
DEV
Developer Academy 3
Device Drivers
DirectCompute
DirectX
Fun
Games
Graphics
Intel
Intellisense
Internals
Interop
ITPRO
LINQ
LINQ to XML
Mathematics
Media Foundation
Memory Map Viewer
Metro
MFC
Multithreading
Native API
Native Development
NLP
Numerics
OFFTOPIC
OpenDay
PARSING
PDC2008
ReSharper
Robotics
Roslyn
Silverlight
Silverlight 2
Task Parallel Library
TECH
teched
teched_il
TechEd2010
TechedIsrael2008
thoughts
Threading
Tips
Tutorial
video
Vista
Visual Basic
Visual C++
Visual Studio
Visual Studio 11
Visual Studio 2005
Visual Studio 2008
Visual Studio 2010
Visual Studio 2012
VS 2010
WebTech
Win32
WinDbg
Windows 8
Windows Devices User Group
Windows Phone
Windows Phone 8
Windows Phone User Group
Windows Platfrom User Group
Windows Runtime
Windows7
WPF
XAML
XNA
מכללת הי-טק
Archives
May 2013 (2)
April 2013 (2)
March 2013 (3)
February 2013 (2)
January 2013 (2)
December 2012 (3)
November 2012 (3)
October 2012 (5)
September 2012 (6)
August 2012 (4)
July 2012 (2)
June 2012 (4)
May 2012 (5)
April 2012 (4)
March 2012 (7)
February 2012 (7)
January 2012 (6)
December 2011 (6)
November 2011 (5)
October 2011 (5)
September 2011 (5)
August 2011 (5)
July 2011 (3)
June 2011 (3)
May 2011 (3)
April 2011 (3)
March 2011 (8)
February 2011 (4)
January 2011 (5)
December 2010 (5)
November 2010 (13)
October 2010 (4)
September 2010 (5)
August 2010 (7)
July 2010 (1)
June 2010 (3)
May 2010 (4)
April 2010 (1)
March 2010 (2)
February 2010 (2)
January 2010 (3)
December 2009 (1)
November 2009 (4)
October 2009 (5)
September 2009 (3)
August 2009 (1)
July 2009 (4)
June 2009 (3)
May 2009 (2)
April 2009 (3)
March 2009 (2)
February 2009 (5)
January 2009 (3)
December 2008 (2)
November 2008 (4)
October 2008 (7)
September 2008 (6)
August 2008 (5)
July 2008 (6)
June 2008 (3)
May 2008 (5)
April 2008 (2)
March 2008 (9)
February 2008 (4)
January 2008 (9)
December 2007 (6)
Navigation
Home
All Posts
RSS
Popular Tags
Browse by Tags
All Tags
»
מכללת הי-טק
»
COM
(
RSS
)
.NET
.NET Profiling API
ATL
C#
CLR
COM Apartments
DEV
Interop
ROT Object Invisible When Hosted in a Service
11 November 08 11:23 AM
|
pavely
| with
no comments
This will not interest any .NET developers… One of my customers wanted to create a system-wide singleton COM object hosted in a Windows service. However, the object implementation must be in a DLL. The service should start and create an instance of the object and make it available from other client processes. A simple approach would be to use the RegisterActiveObject function to register that instance as the class moniker of its kind. A client can get a proxy to the same instance by using GetActiveObject...
Writing a .NET Profiler
20 May 08 09:36 AM
|
pavely
|
2 comment(s)
I was recently asked how a managed application can know the actual size of managed objects it allocates. Although there exists a Marshal.SizeOf method that seemingly can do the trick, this only works for value types, as the method is intended to be used in interop scenarios where some unmanaged memory must be allocated in managed code and passed to some unmanaged function. This question, and others like it can best be answered by using a the .NET profiling API. The .NET profiling API allows the ...
.NET, COM and Apartments Tips
21 February 08 06:18 PM
|
pavely
|
2 comment(s)
We all know that when we use COM interop with .NET we get some RCW (Runtime Callable Wrapper) CLR object representing and controlling access to the underlying COM object. When we call the C# new operator, under the hood the RCW calls the CoCreateInstance API to create the actual COM object, etc. What may not be apparent, is that there may exist another proxy to the COM object, even if the COM server is a DLL (in-process server). The reason this may happen is related to COM apartments. an Apartment...