IExternalConnection::AddConnection
Increments an object's count of its strong external connections (links).
HRESULT AddConnection(
DWORD exconn,
| //Type of external connection
|
DWORD dwreserved
| //Used by OLE to pass connection information
|
);
|
|
Parameters
exconn
[out] Specifies the type of external connection to the object. The only type
of external connection currently supported by this interface is strong, which
means that the object must remain alive as long as this external connection
exists. Strong external connections are represented by the value EXTCONN_STRONG =
0x0001, which is defined in the enumeration
EXTCONN.
dwreserved
Passes information about the connection. This parameter is reserved for use by
OLE. Its value can be zero, but not necessarily. Therefore, implementations of
AddConnection should not contain blocks of code whose execution depends on whether a zero
value is returned.
Return Value
DWORD value
The number of reference counts on the object; used for debugging purposes only.
Comments
An object created by a EXE object application relies on its stub manager to
call
IExternalConnection::AddConnection whenever a link client activates and therefore creates an external lock on
the object. When the link client breaks the connection, the stub manager calls
IExternalConnection::ReleaseConnection to release the lock.
Since DLL object applications exist in the same process space as their
objects, they do not utilize RPC (remote procedure calls) and therefore do not have
stub managers to keep track of external connections. Therefore, DLL object
applications that support external links to their objects must implement
IExternalConnection so link clients can directly call the interface to inform them when
connections are added or released.
The following is a typical implementation for the
AddConnection method:
DWORD XX::AddConnection(DWORD extconn, DWORD dwReserved)
{
return extconn&EXTCONN_STRONG ? ++m_cStrong : 0;
}
See Also
IExternalConnection::ReleaseConnection,
IRunnableObject::LockRunning,
OleLockRunning
- Software for developers
-
Delphi Components
.Net Components
Software for Android Developers
- More information resources
-
MegaDetailed.Net
Unix Manual Pages
Delphi Examples
- Databases for Amazon shops developers
-
Amazon Categories Database
Browse Nodes Database