NPI_PROVIDER_DETACH_CLIENT_FN fungsi panggilan balik (netioddk.h)

Fungsi panggilan balik ProviderDetachClient modul penyedia mencopot modul penyedia dari modul klien.

Sintaks

NPI_PROVIDER_DETACH_CLIENT_FN NpiProviderDetachClientFn;

NTSTATUS NpiProviderDetachClientFn(
  [in] PVOID ProviderBindingContext
)
{...}

Parameter

[in] ProviderBindingContext

Penunjuk ke konteks modul penyedia untuk pengikatan antara modul penyedia dan modul klien tempat modul dicopot. Fungsi panggilan balik ProviderAttachClient modul penyedia mengembalikan pointer ini ke NMR saat dilampirkan ke modul klien.

Nilai kembali

Fungsi panggilan balik ProviderDetachClient modul penyedia mengembalikan salah satu kode NTSTATUS berikut:

Menampilkan kode Deskripsi
STATUS_SUCCESS
Modul penyedia berhasil dilepas dari modul klien.
STATUS_PENDING
Modul penyedia tidak dapat segera melepaskan dari modul klien.

Keterangan

NMR memanggil fungsi panggilan balik ProviderDetachClient modul penyedia setiap kali pengikatan antara modul penyedia dan modul klien perlu dihentikan. Pencopotan dimulai oleh modul klien yang memanggil fungsi NmrDeregisterClient atau modul penyedia yang memanggil fungsi NmrDeregisterProvider .

Setelah fungsi panggilan balik ProviderDetachClient-nya dipanggil, modul penyedia tidak boleh melakukan panggilan lagi ke salah satu fungsi panggilan balik NPI modul klien. Jika tidak ada panggilan balik modul klien yang sedang berlangsung ke salah satu fungsi panggilan balik NPI modul klien saat fungsi panggilan balik ProviderDetachClient modul penyedia dipanggil, maka fungsi panggilan balik ProviderDetachClient modul penyedia mengembalikan STATUS_SUCCESS.

Jika ada panggilan balik modul klien yang sedang berlangsung ke satu atau beberapa fungsi panggilan balik NPI modul klien saat fungsi panggilan balik ProviderDetachClient modul penyedia dipanggil, fungsi panggilan balik ProviderDetachClient modul penyedia mengembalikan STATUS_PENDING. Dalam situasi ini, modul penyedia harus memanggil Fungsi NmrProviderDetachClientComplete setelah semua panggilan yang sedang berlangsung ke fungsi panggilan balik NPI modul klien telah selesai. Panggilan ke Fungsi NmrProviderDetachClientComplete memberi tahu NMR bahwa pencopotan dari modul klien selesai.

NMR memanggil modul klienFungsi panggilan balik ClientCleanupBindingContext dan modul penyediaFungsi panggilan balik ProviderCleanupBindingContext setelah modul klien dan modul penyedia telah selesai melepaskan satu sama lain.

NMR memanggil fungsi panggilan balik ProviderDetachClient modul penyedia di IRQL <= DISPATCH_LEVEL apa pun.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Tersedia di Windows Vista dan versi yang lebih baru dari sistem operasi Windows.
Target Platform Windows
Header netioddk.h (termasuk Wsk.h)
IRQL <= DISPATCH_LEVEL

Lihat juga

ClientCleanupBindingContext

NPI_PROVIDER_CHARACTERISTICS

NmrDeregisterClient

NmrDeregisterProvider

NmrProviderDetachClientComplete

ProviderAttachClient

ProviderCleanupBindingContext