IExternalConnection::AddConnection 方法 (objidl.h)

递增对象的强外部连接计数。

语法

DWORD AddConnection(
  [in] DWORD extconn,
  [in] DWORD reserved
);

参数

[in] extconn

与 对象的外部连接的类型。 此接口当前支持的唯一外部连接类型是强连接,这意味着只要此外部连接存在,对象就必须保持活动状态。 强外部连接由枚举 EXTCONN 中定义的值EXTCONN_STRONG表示。

[in] reserved

有关连接的信息。 此参数保留供 OLE 使用。 其值可以为零,但不一定。 因此, AddConnection 的实现不应包含其执行取决于是否返回零值的代码块。

返回值

方法返回连接计数。 此值仅用于调试目的。

注解

EXE 对象服务器创建的对象依赖于其存根管理器在链接客户端激活时调用 AddConnection ,因此在对象上创建外部锁。 当链接客户端中断连接时,存根管理器调用 IExternalConnection::ReleaseConnection 来释放锁。

DLL 对象应用程序与其对象位于同一进程空间中,因此它们不使用 RPC (远程过程调用) ,并且没有存根管理器来跟踪外部连接。 因此,支持指向其对象的外部链接的 DLL 服务器必须实现 IExternalConnection ,以便链接客户端可以直接调用 接口,以在添加或释放连接时通知它们。

下面是 AddConnection 方法的典型实现。

DWORD MyInterface::AddConnection(DWORD extconn, DWORD dwReserved)
{
    return extconn & EXTCONN_STRONG ? ++m_cStrong : 0;
}

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 objidl.h (包括 ObjIdl.h)

另请参阅

IExternalConnection

IRunnableObject::LockRunning

OleLockRunning