共用方式為


RxFinalizeConnection 函式 (rxprocs.h)

RxFinalizeConnection 會刪除與共享的連線。 線上上開啟的任何檔案會根據指定的強制層級關閉。 除非指定某些選項強制關閉連線,否則網路迷你重新導向器可能會選擇讓傳輸連線保持開啟狀態。

語法

NTSTATUS RxFinalizeConnection(
  IN OUT PNET_ROOT   NetRoot,
  IN OUT PV_NET_ROOT VNetRoot,
  IN LOGICAL         ForceFilesClosed
);

參數

NetRoot

[in, out]正在完成之NET_ROOT結構的指標。

VNetRoot

正在完成之V_NET_ROOT結構的指標。

ForceFilesClosed

旗標,控制 RxFinalizeConnection 例程的行為。 旗標可以是下列其中一個值:

TRUE

RxFinalizeConnection 成功,即使孤立檔案和IRP_MN_NOTIFY_CHANGE_DIRECTORY要求已開啟也一樣。 選項會強制關閉這些孤立檔案。

FALSE

RxFinalizeConnection 檔案或變更通知開啟時失敗。

0xff

RxFinalizeConnection 會因為新增連接要求而移除V_NET_ROOT結構上的額外參考,否則會像 FALSE一樣。 RxFinalizeConnection 檔案或變更通知開啟時失敗。

傳回值

RxFinalizeConnection 傳回成功STATUS_SUCCESS,或失敗時傳回下列其中一個錯誤碼:

傳回碼 描述
STATUS_CANCELLED
旗標 RX_CONTEXT 結構的成員表示 IRP 已取消。
STATUS_CONNECTION_IN_USE
線上仍在使用中。
STATUS_FILES_OPEN
檔案已開啟,因此不應該刪除遠端連線。
STATUS_LOCK_NOT_GRANTED
相關聯之的獨佔鎖定

言論

RxFinalizeConnection 通常是由網路迷你重新導向器驅動程式呼叫,以回應從使用者模式接收自定義 IOCTL 要求。 例如,使用者可以從命令行執行 「NET USE x: /d」 來刪除共用。 此要求會透過網路迷你重新導向器所提供的網路提供者 DLL 對應至傳送至網路迷你重新導向器核心驅動程式的自定義 IOCTL 要求,此驅動程式會呼叫 RxFinalizeConnection 例程來刪除連線。

RxFinalizeConnection 會取消指定V_NET_ROOT結構的所有未處理要求。 這些V_NET_ROOT結構會建立和刪除,與開啟和作它們的檔案無關。 因此,嘗試刪除作業時,所有未完成的要求都會取消。

要求

要求 價值
目標平臺 桌面
標頭 rxprocs.h (包括 Rxprocs.h)
IRQL <= APC_LEVEL

另請參閱

RxCreateNetFcb

RxCreateNetFobx

RxCreateNetRoot

RxCreateSrvCall

RxCreateSrvOpen

RxCreateVNetRoot

RxDereference

RxFinalizeNetFcb

RxFinalizeNetFobx

RxFinalizeNetRoot

RxFinalizeSrvCall

RxFinalizeSrvOpen

RxFinalizeVNetRoot

RxFinishFcbInitialization

RxForceFinalizeAllVNetRoots

RxReference

RxSetSrvCallDomainName

RxpDereferenceNetFcb

RxpReferenceNetFcb

NET_ROOT 結構

V_NET_ROOT 結構