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
- FALSE
- 0xff
RxFinalizeConnection 成功,即使孤立檔案和IRP_MN_NOTIFY_CHANGE_DIRECTORY要求已開啟也一樣。 選項會強制關閉這些孤立檔案。
RxFinalizeConnection 檔案或變更通知開啟時失敗。
RxFinalizeConnection 會因為新增連接要求而移除V_NET_ROOT結構上的額外參考,否則會像 FALSE一樣。 RxFinalizeConnection 檔案或變更通知開啟時失敗。
傳回值
RxFinalizeConnection 傳回成功STATUS_SUCCESS,或失敗時傳回下列其中一個錯誤碼:
傳回碼 | 描述 |
---|---|
|
旗標 RX_CONTEXT 結構的成員表示 IRP 已取消。 |
|
線上仍在使用中。 |
|
檔案已開啟,因此不應該刪除遠端連線。 |
|
相關聯之的獨佔鎖定 |
言論
RxFinalizeConnection 通常是由網路迷你重新導向器驅動程式呼叫,以回應從使用者模式接收自定義 IOCTL 要求。 例如,使用者可以從命令行執行 「NET USE x: /d」 來刪除共用。 此要求會透過網路迷你重新導向器所提供的網路提供者 DLL 對應至傳送至網路迷你重新導向器核心驅動程式的自定義 IOCTL 要求,此驅動程式會呼叫 RxFinalizeConnection 例程來刪除連線。
RxFinalizeConnection 會取消指定V_NET_ROOT結構的所有未處理要求。 這些V_NET_ROOT結構會建立和刪除,與開啟和作它們的檔案無關。 因此,嘗試刪除作業時,所有未完成的要求都會取消。
要求
要求 | 價值 |
---|---|
目標平臺 | 桌面 |
標頭 | rxprocs.h (包括 Rxprocs.h) |
IRQL | <= APC_LEVEL |