Answer Posted / manish
If you've so much as cracked a book on COM, you've undoubtedly come across the term apartment, which describes the constructs in which COM objects are created. If you're unfamiliar with this concept, the often-used analogy of an apartment building may help to clarify.
If you think of the building as an application's process, each apartment is a distinct area in which a COM object can be created. As with the more tangible kind of apartment, a COM apartment is a fairly self-contained unit that shares some similarities with other apartments in the same building/process. But just as there may be lofts, studios, and 2- or 3-bedroom apartments in the same building, there can also be different types of COM apartments within a process. Apartments may also be vacant or have any number of people/objects living in them.
It may be helpful to remember a few key points about COM apartments:
An apartment is not a thread. The one-to-one relationship between threads and single-threaded apartments may lead you to believe that the two terms are interchangeable—they are not.
An object is not an apartment. Objects are created in apartments.
A particular instance of an object can belong to only one apartment.
An apartment's concurrency model, whether it is single-threaded or multi-threaded, cannot be changed after it is created.
A process can have zero or more single-threaded apartments—one for each thread that calls CoInitialize.
A process has one multi-threaded apartment or none at all—all threads that call CoInitializeEx with COINIT_MULTITHREADED share the same apartment.
From microsoft
| Is This Answer Correct ? | 0 Yes | 0 No |
Post New Answer View All Answers
How do I create a new form in visual basic?
What is file in vb?
How can I speed up my VB database application?
How would you create Visual basic Document file?
What is Parser Bug?
How can you Add API functions to your Application?
Types of LockEdits in RDO.
When/Why should I use Option Explicit?
How do you avoid the "Invalid use of null" error when reading null values from a database?
Scope of API's can be of types, what are they?
How would you find out the value property in Slider Bar Control?
I'm getting error message "Reserved Error [-nnnn] ("There is no message for this error")" from Jet Engine 2.0.Why?
What is connection object in vb net?
How can Visual Basic be used for server-side scripting?
How to load and unload child forms.