다음을 통해 공유


RxCreateSrvOpen 함수(fcb.h)

RxCreateSrvOpen은 RDBSS 에서 사용하는 메모리 내 데이터 구조에 새 SRV_OPEN 구조를 할당, 초기화 및 삽입합니다. 새 구조체를 할당해야 하는 경우 FOBX 구조체에 대한 공간이 있습니다.

구문

PSRV_OPEN RxCreateSrvOpen(
  [in]      IN PV_NET_ROOT VNetRoot,
  [in, out] IN OUT PFCB    Fcb
);

매개 변수

[in] VNetRoot

V_NET_ROOT 구조체에 대한 포인터입니다.

[in, out] Fcb

연결된 FCB 구조체에 대한 포인터입니다.

반환 값

RxCreateSrvOpen은 성공 시 새로 만든 SRV_OPEN 데이터 구조에 대한 포인터 또는 실패 시 NULL 포인터를 반환합니다.

설명

RxCreateSrvOpen 루틴은 일반적으로 네트워크 미니 리디렉터 드라이버에서 직접 호출되지 않습니다. RDBSS는 IRP_MJ_CREATE 대한 I/O 요청 패킷이 수신되고 SRV_OPEN 만들어야 할 때 내부적으로 이 루틴을 호출합니다. 이 IRP는 일반적으로 네트워크 공유에서 파일 만들기 작업을 요청하는 사용자 모드 애플리케이션에 대한 응답으로 RDBSS에서 수신됩니다. 다른 커널 드라이버가 이러한 IRP를 발급할 수도 있습니다.

RxCreateSrvOpen을 호출하기 전에 연결된 FCB 구조체에 대한 잠금을 배타적 모드로 획득해야 합니다.

RxCreateSrvOpen 은 사용 가능한 경우 연결된 FCB 구조체의 일부로 할당된 SRV_CALL 시도하고 사용합니다. FCB와 함께 할당된 SRV_CALL 사용할 수 없는 경우 RxCreateSrvOpen 은 새 SRV_CALL 구조를 할당합니다.

연결된 FCB가 페이징 파일인 경우 RxCreateSrvOpen 은 새 SRV_OPEN 데이터 구조를 만들 때 페이징되지 않은 풀 메모리를 할당합니다. 연결된 FCB가 페이징 파일이 아닌 경우 RxCreateSrvOpen은 새 SRV_OPEN 데이터 구조를 만들 때 페이징된 풀 메모리를 할당합니다.

Windows는 현재 원격 머신에 페이징 파일을 보유하는 것을 허용하지 않습니다.

요구 사항

요구 사항
대상 플랫폼 데스크톱
머리글 fcb.h(Mrxfcb.h, Fcb.h 포함)
IRQL <= APC_LEVEL

추가 정보

RxCreateNetFcb

RxCreateNetFobx

RxCreateNetRoot

RxCreateSrvCall

RxCreateVNetRoot

RxDereference

RxFinalizeConnection

RxFinalizeNetFcb

RxFinalizeNetFobx

RxFinalizeNetRoot

RxFinalizeSrvCall

RxFinalizeSrvOpen

RxFinalizeVNetRoot

RxFinishFcbInitialization

RxForceFinalizeAllVNetRoots

RxReference

RxSetSrvCallDomainName

RxpDereferenceNetFcb

RxpReferenceNetFcb

FCB 구조체

SRV_OPEN 구조체

V_NET_ROOT 구조체