共用方式為


NPI_PROVIDER_DETACH_CLIENT_FN回呼函式 (netioddk.h)

提供者模組的 ProviderDetachClient 回 呼函式會將提供者模組與用戶端模組中斷連結。

語法

NPI_PROVIDER_DETACH_CLIENT_FN NpiProviderDetachClientFn;

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

參數

[in] ProviderBindingContext

提供者模組內容指標,用於提供者模組與其中斷連結的用戶端模組之間的系結。 提供者模組的 ProviderAttachClient 回 呼函式會在附加至用戶端模組時,傳回 NMR 的這個指標。

傳回值

提供者模組的 ProviderDetachClient 回 呼函式會傳回下列其中一個 NTSTATUS 程式代碼:

傳回碼 Description
STATUS_SUCCESS
提供者模組已成功從用戶端模組中斷連結。
STATUS_PENDING
提供者模組無法立即從用戶端模組中斷連結。

備註

只要提供者模組與用戶端模組之間的系結需要終止,NMR 就會呼叫提供者模組的 ProviderDetachClient 回 呼函式。 卸離是由呼叫 NmrDeregisterClient 函式的用戶端模組或呼叫 NmrDeregisterProvider 函式的提供者模組所起始。

呼叫 ProviderDetachClient 回 呼函式之後,提供者模組就不應該再呼叫任何用戶端模組的 NPI 回呼函式。 如果在呼叫提供者模組的 ProviderDetachClient 回呼函式時,沒有任何用戶端模組 NPI 回呼函式的進行中呼叫,則提供者模組的 ProviderDetachClient 回 呼函式會傳回STATUS_SUCCESS。

如果在呼叫提供者模組的 ProviderDetachClient 回呼函式時,有一或多個用戶端模組 NPI 回呼函式的進行中呼叫,提供者模組的 ProviderDetachClient 回呼函式會傳回STATUS_PENDING。 在此情況下,提供者模組必須呼叫完成對用戶端模組 NPI 回呼函式的所有進行中呼叫之後,NmrProviderDetachClientComplete 函式。 對的呼叫 NmrProviderDetachClientComplete 函式會通知 NMR 從用戶端模組中斷連結已完成。

NMR 會呼叫用戶端模組的 ClientCleanupBindingContext 回呼 函式和提供者模組的 ProviderCleanupBindingContext 回呼 函式在用戶端模組和提供者模組都已完成彼此中斷鏈接之後。

NMR 會在任何 IRQL <= DISPATCH_LEVEL呼叫提供者模組的 ProviderDetachClient 回呼函式。

規格需求

需求
最低支援的用戶端 可在 Windows Vista 和更新版本的 Windows 作業系統中使用。
目標平台 Windows
標頭 netioddk.h (包含 Wsk.h)
IRQL <= DISPATCH_LEVEL

另請參閱

ClientCleanupBindingContext

NPI_PROVIDER_CHARACTERISTICS

NmrDeregisterClient

NmrDeregisterProvider

NmrProviderDetachClientComplete

ProviderAttachClient

ProviderCleanupBindingContext