Bagikan melalui


Fungsi RpcNsMgmtHandleSetExpAge (rpcnsi.h)

Fungsi RpcNsMgmtHandleSetExpAge menetapkan usia kedaluwarsa handel layanan nama untuk salinan lokal data layanan nama.

Catatan Fungsi ini tidak didukung pada Windows Vista dan sistem operasi yang lebih baru.
 

Sintaks

RPC_STATUS RpcNsMgmtHandleSetExpAge(
  RPC_NS_HANDLE NsHandle,
  unsigned long ExpirationAge
);

Parameter

NsHandle

Handel layanan nama yang usia kedaluwarsanya ditetapkan. Handel layanan nama dikembalikan dari layanan nama memulai operasi.

ExpirationAge

Nilai bilangan bulat, dalam detik, yang menetapkan usia kedaluwarsa data layanan nama lokal yang dibaca oleh semua rutinitas berikutnya menggunakan parameter NsHandle yang ditentukan.

Usia kedaluwarsa 0 menyebabkan pembaruan segera data layanan nama lokal.

Menampilkan nilai

Nilai Makna
RPC_S_OK
Panggilan berhasil.
RPC_S_NAME_SERVICE_UNAVAILABLE
Layanan nama tidak tersedia.
 
Catatan Untuk daftar kode kesalahan yang valid, lihat Nilai Pengembalian RPC.
 

Keterangan

Fungsi RpcNsMgmtHandleSetExpAge menetapkan usia kedaluwarsa handel untuk handel name–service tertentu (NsHandle). Usia kedaluwarsa adalah jumlah waktu salinan data lokal dari atribut name-service dapat ada sebelum permintaan dari aplikasi untuk atribut memerlukan pembaruan salinan lokal. Ketika aplikasi mulai berjalan, pustaka run-time RPC menentukan usia kedaluwarsa default dua jam. Defaultnya adalah global untuk aplikasi. Usia kedaluwarsa handel hanya berlaku untuk handel layanan nama tertentu dan untuk sementara menggantikan usia kedaluwarsa global saat ini.

Usia kedaluwarsa handel digunakan secara eksklusif oleh operasi pointer berikutnya (yang membaca data dari atribut layanan nama). Operasi berikutnya biasanya dimulai dengan mencari salinan lokal data atribut yang diminta oleh aplikasi. Dengan tidak adanya salinan lokal, operasi berikutnya membuatnya dengan data atribut baru dari database layanan nama. Jika salinan lokal sudah ada, operasi membandingkan usia aktualnya dengan usia kedaluwarsa yang digunakan oleh aplikasi (yang, dalam hal ini, adalah usia kedaluwarsa yang ditetapkan untuk handel layanan nama). Jika usia aktual melebihi usia handle-expiration, operasi secara otomatis mencoba memperbarui salinan lokal dengan data atribut baru. Jika pembaruan tidak mungkin, data lokal lama tetap ada dan operasi berikutnya gagal, mengembalikan kode status RPC_S_NAME_SERVICE_UNAVAILABLE.

Cakupan usia handle-expiration adalah satu rangkaian operasi berikutnya. Fungsi RpcNsMgmtHandleSetExpAge beroperasi dalam konteks berikut:

  • Operasi mulai membuat handel layanan nama.
  • Panggilan ke fungsi RpcNsMgmtHandleSetExpAge membuat usia kedaluwarsa untuk handel.
  • Serangkaian operasi berikutnya untuk handel layanan nama menggunakan usia kedaluwarsa handel.
  • Operasi yang dilakukan untuk handel layanan nama menghapus handel dan usia kedaluwarsanya.
Catatan Biasanya, Anda harus menghindari penggunaan RpcNsMgmtHandleSetExpAge. Sebagai gantinya, Anda harus mengandalkan usia kedaluwarsa global aplikasi. Mengatur usia handle-expiration ke nilai kecil menyebabkan layanan nama operasi berikutnya sering memperbarui data lokal untuk atribut layanan nama apa pun yang diminta oleh aplikasi Anda. Misalnya, mengatur usia kedaluwarsa ke 0 memaksa operasi berikutnya untuk memperbarui data lokal untuk atribut name-service yang diminta oleh aplikasi Anda. Oleh karena itu, mengatur usia handle-expiration yang kecil dapat menciptakan masalah performa untuk aplikasi Anda. Selain itu, jika aplikasi Anda menggunakan server layanan nama jarak jauh, usia kedaluwarsa kecil dapat berdampak buruk pada performa jaringan untuk semua aplikasi.
 
Batasi penggunaan RpcNsMgmtHandleSetExpAge ke situasi berikut:
  • Ketika Anda harus selalu mendapatkan data layanan nama yang akurat.

    Misalnya, selama operasi manajemen untuk memperbarui profil, Anda mungkin harus selalu melihat konten profil saat ini. Dalam hal ini, sebelum mulai menanyakan profil, aplikasi Anda harus memanggil fungsi RpcNsMgmtHandleSetExpAge dan menentukan 0 untuk parameter ExpirationAge .

  • Ketika permintaan yang menggunakan usia kedaluwarsa default gagal, dan aplikasi Anda perlu mencoba kembali operasi.

    Misalnya, aplikasi klien yang menggunakan operasi impor layanan nama harus terlebih dahulu mencoba mendapatkan pengikatan menggunakan usia kedaluwarsa default aplikasi. Namun, terkadang operasi impor berikutnya tidak mengembalikan handel pengikatan atau jumlahnya yang tidak mencukup. Dalam hal ini, klien dapat mencoba kembali operasi impor dan, setelah panggilan RpcNsBindingImportBegin , sertakan panggilan RpcNsMgmtHandleSetExpAge dan tentukan 0 untuk parameter ExpirationAge . Ketika klien memanggil fungsi impor berikutnya lagi, usia handel-kedaluwarsa kecil menyebabkan operasi impor berikutnya memperbarui data atribut lokal.

Persyaratan

   
Klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Target Platform Windows
Header rpcnsi.h (termasuk Rpc.h)
Pustaka Rpcns4.lib
DLL Rpcns4.dll

Lihat juga

RpcNsBindingImportBegin

RpcNsMgmtInqExpAge

RpcNsMgmtSetExpAge