다음을 통해 공유


RxCreateSrvCall 함수(fcb.h)

RxCreateSrvCall은 SRV_CALL 구조를 빌드하고 RDBSS에서 유지 관리하는 net name 테이블에 이름을 삽입합니다.

구문

PSRV_CALL RxCreateSrvCall(
  IN PRX_CONTEXT       RxContext,
  IN PUNICODE_STRING   Name,
  IN PUNICODE_STRING   InnerNamePrefix,
  IN PRX_CONNECTION_ID RxConnectionId
);

매개 변수

RxContext

[in] 만들기 작업을 설명하는 IRP를 포함하는 RX_CONTEXT 구조체에 대한 포인터입니다.

Name

[in] 이름 테이블에 삽입할 이름에 대한 포인터입니다.

InnerNamePrefix

Name을 사용하여 이름 테이블에 삽입할 선택적 내부 접두사 이름 에 대한 포인터입니다.

RxConnectionId

[in] 접두사 이름 테이블에 삽입할 이름과 연결할 연결 ID에 대한 포인터입니다. 이 매개 변수는 NULL 일 수 있으며 이 경우 접두사 이름 테이블에 삽입된 이름과 연결 ID가 연결되지 않습니다.

반환 값

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

설명

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

RxCreateSrvCall을 호출하기 전에 RxContext 매개 변수의 디바이스 개체 멤버와 연결된 이름 테이블에 대한 잠금을 배타적 모드로 획득해야 합니다.

RxCreateSrvCall 은 연결된 RX_CONTEXT 구조의 일부로 확장 특성을 통해 전달되는 서버 호출 매개 변수를 초기화합니다. 현재 여기에는 DFS 드라이버에 의해 전달되는 SRV_CALL pPrincipalName 멤버 초기화가 포함됩니다.

요구 사항

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

추가 정보

RX_CONTEXT

RxCreateNetFcb

RxCreateNetFobx

RxCreateNetRoot

RxCreateSrvOpen

RxCreateVNetRoot

RxDereference

RxFinalizeConnection

RxFinalizeNetFcb

RxFinalizeNetFobx

RxFinalizeNetRoot

RxFinalizeSrvCall

RxFinalizeSrvOpen

RxFinalizeVNetRoot

RxFinishFcbInitialization

RxForceFinalizeAllVNetRoots

RxReference

RxSetSrvCallDomainName

RxpDereferenceNetFcb

RxpReferenceNetFcb

SRV_CALL 구조체