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。 其他可能的值包括:

傳回碼 描述
E_INVALIDARG
phDrtNull
DRT_E_INVALID_SETTINGS
pSettingsNull,或DRT_SETTINGSdwSize成員值不等於DRT_SETTINGS物件的大小。
DRT_E_INVALID_KEY_SIZE
cbKey 不等於 256 位。
DRT_E_INVALID_MAX_ADDRESSES
DRT_SETTINGS的 ulMaxRoutingAddresses成員會指定小於 1 或大於 20 的位址數目上限。
DRT_E_INVALID_TRANSPORT_PROVIDER
DRT_SETTINGS中的hTransport成員為Null,或傳輸的某些欄位為Null
DRT_E_INVALID_SECURITY_MODE
DRT_SETTINGSeSecurityMode成員會指定不正確安全性模式。
DRT_E_INVALID_SECURITY_PROVIDER
DRT_SETTINGSpSecurityProvider成員為Null
DRT_E_INVALID_BOOTSTRAP_PROVIDER
DRT_SETTINGSpBootstrapProvider成員為Null,或啟動程式提供者的某些欄位為Null
DRT_E_INVALID_INSTANCE_PREFIX
DRT_SETTINGS中指定的pwzDrtInstancePrefix大小大於前置長度上限, (128) 。
E_OUTOFMEMORY
系統無法配置此作業的記憶體。
DRT_E_BOOTSTRAPPROVIDER_IN_USE
啟動程式提供者已經連結。
DRT_E_SECURITYPROVIDER_IN_USE
安全性提供者已附加。
DRT_TRANSPORTPROVIDER_IN_USE
傳輸提供者已經附加。
DRT_E_INVALID_CERT_CHAIN
認證鏈結無效。
DRT_E_CAPABILITY_MISMATCH
本機憑證在DRT_SECURE_MEMBERSHIP中不可為 Null ,且DRT_SECURE_CONFIDENTIALPAYLOAD安全性。
DRT_E_TRANSPORT_SHUTTING_DOWN
傳輸正在關閉。
DRT_E_TRANSPORT_ALREADY_BOUND
傳輸已經系結。
DRT_S_RETRY
啟動程式提供者找不到其他節點,但可能會在第二次嘗試中成功。
DRT_E_TRANSPORT_INVALID_ARGUMENT
傳輸提供者參數為 Null 或無效。
DRT_E_TRANSPORTPROVIDER_NOT_ATTACHED
傳輸未附加。
E_FAIL
發生意外的嚴重錯誤。

備註

呼叫 DrtOpen 之後,DRT 會開始開機載入程式,並根據啟動程式成功而移至 DRT_ACTIVEDRT_ALONE 狀態。

需求

   
最低支援的用戶端 Windows 7 專業版 [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 R2 [僅限桌面應用程式]
目標平台 Windows
標頭 drt.h
程式庫 Drt.lib
Dll Drt.dll

另請參閱

DRT_SETTINGS

DrtClose