DrtOpen 函数 (drt.h)
DrtOpen 函数根据 DRT_SETTINGS 结构指定的条件创建本地分布式路由表实例。
语法
HRESULT DrtOpen(
[in] const DRT_SETTINGS *pSettings,
[in] HANDLE hEvent,
[in, optional] const PVOID pvContext,
[out] HDRT *phDrt
);
参数
[in] pSettings
指向 DRT_SETTINGS 结构的指针,该结构指定用于创建 DRT 实例的设置。
[in] hEvent
事件发生时发出信号的事件的句柄。
[in, optional] pvContext
用户定义的上下文数据,通过事件传递给应用程序。
[out] phDrt
与 DRT 关联的新句柄。 这将用于对 DRT 实例执行的所有将来操作。
返回值
此函数在成功时返回S_OK。 其他可能的值包括:
返回代码 | 说明 |
---|---|
|
phDrt 为 NULL。 |
|
pSettings 为 NULL 或 DRT_SETTINGS 的 dwSize 成员值不等于 DRT_SETTINGS 对象的大小。 |
|
cbKey 不等于 256 位。 |
|
DRT_SETTINGS 的 ulMaxRoutingAddresses 成员将小于 1 或超过 20 指定为最大地址数。 |
|
DRT_SETTINGS中的 hTransport 成员为 NULL,或者 Transport 的某些字段为 NULL |
|
DRT_SETTINGS 的 eSecurityMode 成员指定无效的安全模式。 |
|
DRT_SETTINGS的 pSecurityProvider 成员为 NULL。 |
|
DRT_SETTINGS的 pBootstrapProvider 成员为 NULL,或者引导提供程序的某些字段为 NULL。 |
|
DRT_SETTINGS中指定的 pwzDrtInstancePrefix 的大小大于最大前缀长度 (128) 。 |
|
系统无法为此操作分配内存。 |
|
已附加启动提供程序。 |
|
已附加安全提供程序。 |
|
传输提供程序已附加。 |
|
认证链无效。 |
|
本地证书在DRT_SECURE_MEMBERSHIP和DRT_SECURE_CONFIDENTIALPAYLOAD安全性中不能为 NULL 。 |
|
传输正在关闭。 |
|
传输已绑定。 |
|
Bootstrap 提供程序未能找到其他节点,但在第二次尝试中可能成功。 |
|
传输提供程序参数为 NULL 或无效。 |
|
传输未附加。 |
|
发生意外的致命错误。 |
备注
调用 DrtOpen 后,DRT 将启动启动过程,并移动到 DRT_ACTIVE 或 DRT_ALONE 状态,具体取决于启动成功。
要求
最低受支持的客户端 | Windows 7 专业版 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 R2 [仅限桌面应用] |
目标平台 | Windows |
标头 | drt.h |
Library | Drt.lib |
DLL | Drt.dll |