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 |
---|---|
|
提供者模組已成功從用戶端模組中斷連結。 |
|
提供者模組無法立即從用戶端模組中斷連結。 |
備註
只要提供者模組與用戶端模組之間的系結需要終止,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 |