Fungsi DrtOpen (drt.h)

Fungsi DrtOpen membuat instans Tabel Perutean Terdistribusi lokal terhadap kriteria yang ditentukan oleh struktur DRT_SETTINGS .

Sintaks

HRESULT DrtOpen(
  [in]           const DRT_SETTINGS *pSettings,
  [in]           HANDLE             hEvent,
  [in, optional] const PVOID        pvContext,
  [out]          HDRT               *phDrt
);

Parameter

[in] pSettings

Arahkan ke struktur DRT_SETTINGS yang menentukan pengaturan yang digunakan untuk pembuatan instans DRT.

[in] hEvent

Tangani ke peristiwa yang disinyalkan saat peristiwa terjadi.

[in, optional] pvContext

Data konteks yang ditentukan pengguna yang diteruskan ke aplikasi melalui peristiwa.

[out] phDrt

Handel baru yang terkait dengan DRT. Ini digunakan dalam semua operasi di masa mendatang pada instans DRT.

Menampilkan nilai

Fungsi ini mengembalikan S_OK pada keberhasilan. Nilai lain yang mungkin termasuk:

Menampilkan kode Deskripsi
E_INVALIDARG
phDrt adalah NULL.
DRT_E_INVALID_SETTINGS
pSettings adalah NULL atau nilai anggota dwSizedari DRT_SETTINGS tidak sama dengan ukuran objek DRT_SETTINGS .
DRT_E_INVALID_KEY_SIZE
cbKey tidak sama dengan 256 bit.
DRT_E_INVALID_MAX_ADDRESSES
Anggota ulMaxRoutingAddressesdari DRT_SETTINGS menentukan kurang dari 1 atau lebih dari 20 sebagai jumlah alamat maksimum.
DRT_E_INVALID_TRANSPORT_PROVIDER
Anggota hTransport di DRT_SETTINGS adalah NULL atau beberapa bidang Transport adalah NULL
DRT_E_INVALID_SECURITY_MODE
Anggota eSecurityModeDRT_SETTINGS menentukan mode keamanan yang tidak valid.
DRT_E_INVALID_SECURITY_PROVIDER
Anggota pSecurityProviderdari DRT_SETTINGS adalah NULL.
DRT_E_INVALID_BOOTSTRAP_PROVIDER
Anggota pBootstrapProviderdari DRT_SETTINGS adalah NULL atau beberapa bidang penyedia bootstrap adalah NULL.
DRT_E_INVALID_INSTANCE_PREFIX
Ukuran pwzDrtInstancePrefix yang ditentukan dalam DRT_SETTINGS lebih besar dari panjang awalan maksimum (128).
E_OUTOFMEMORY
Sistem tidak dapat mengalokasikan memori untuk operasi ini.
DRT_E_BOOTSTRAPPROVIDER_IN_USE
Penyedia bootstrap sudah terpasang.
DRT_E_SECURITYPROVIDER_IN_USE
Penyedia keamanan sudah terpasang.
DRT_TRANSPORTPROVIDER_IN_USE
Penyedia transportasi sudah terpasang.
DRT_E_INVALID_CERT_CHAIN
Rantai sertifikasi tidak valid.
DRT_E_CAPABILITY_MISMATCH
Sertifikat lokal tidak boleh NULL dalam keamanan DRT_SECURE_MEMBERSHIP dan DRT_SECURE_CONFIDENTIALPAYLOAD.
DRT_E_TRANSPORT_SHUTTING_DOWN
Transportasi dimatikan.
DRT_E_TRANSPORT_ALREADY_BOUND
Transportasi sudah terikat.
DRT_S_RETRY
Penyedia Bootstrap gagal menemukan simpul lain, tetapi mungkin berhasil dalam upaya kedua.
DRT_E_TRANSPORT_INVALID_ARGUMENT
Parameter penyedia transportasi NULL atau tidak valid.
DRT_E_TRANSPORTPROVIDER_NOT_ATTACHED
Transportasi tidak terpasang.
E_FAIL
Terjadi kesalahan fatal tak terduga.

Keterangan

Setelah DrtOpen dipanggil, DRT akan memulai prosedur bootstrapping dan pindah ke status DRT_ACTIVE atau DRT_ALONE , tergantung pada keberhasilan bootstrap.

Persyaratan

   
Klien minimum yang didukung Windows 7 Professional [khusus aplikasi desktop]
Server minimum yang didukung Windows Server 2008 R2 [hanya aplikasi desktop]
Target Platform Windows
Header drt.h
Pustaka Drt.lib
DLL Drt.dll

Lihat juga

DRT_SETTINGS

DrtClose