共用方式為


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 例程行為的旗標。 旗標可以是下列其中一個值:

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

如果檔案或變更通知已開啟,RxFinalizeConnection 會失敗。

0xff

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

傳回值

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

傳回碼 Description
STATUS_CANCELLED
RX_CONTEXT 結構的 Flags 成員表示 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結構