다음을 통해 공유


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 루틴의 동작을 제어하는 플래그입니다. 플래그는 다음 값 중 하나일 수 있습니다.

사실

RxFinalizeConnection 은 분리된 파일과 IRP_MN_NOTIFY_CHANGE_DIRECTORY 요청이 열려 있는 경우에도 성공합니다. 옵션은 이러한 고아 파일을 강제로 닫습니다.

False

파일 또는 변경 알림이 열려 있으면 RxFinalizeConnection이 실패합니다.

0xff

RxFinalizeConnection 은 연결 추가 요청으로 인해 V_NET_ROOT 구조에 대한 추가 참조를 제거하지만 그렇지 않으면 FALSE처럼 작동 합니다. 파일 또는 변경 알림이 열려 있으면 RxFinalizeConnection이 실패합니다.

반환 값

RxFinalizeConnection 은 성공 시 STATUS_SUCCESS 반환하거나 실패 시 다음 오류 코드 중 하나를 반환합니다.

반환 코드 설명
STATUS_CANCELLED
RX_CONTEXT 구조체의 Flags 멤버는 IRP가 취소되었음을 나타냅니다.
STATUS_CONNECTION_IN_USE
연결은 여전히 사용 중입니다.
STATUS_FILES_OPEN
파일이 열려 있으므로 원격 연결을 삭제하면 안 됩니다.
STATUS_LOCK_NOT_GRANTED
연결된 에 대한 배타적 잠금

설명

RxFinalizeConnection 은 일반적으로 사용자 모드에서 사용자 지정 IOCTL 요청을 수신하는 것에 대한 응답으로 네트워크 미니 리렉터 드라이버에 의해 호출됩니다. 예를 들어 사용자는 명령줄에서 "NET USE x: /d"를 실행하여 공유를 삭제할 수 있습니다. 이 요청은 네트워크 미니 리 디렉터에서 제공하는 네트워크 공급자 DLL을 통해 RxFinalizeConnection 루틴을 호출하여 연결을 삭제하는 네트워크 미니 리렉터 커널 드라이버로 전송된 사용자 지정 IOCTL 요청에 매핑됩니다.

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 구조체