RxCreateNetFcb 함수(fcb.h)
RxCreateNetFCB 는 이 FCB가 열려 있는 V_NET_ROOT 대한 새 FCB 구조를 메모리 내 데이터 구조에 할당, 초기화 및 삽입합니다. 할당된 구조체에는 SRV_OPEN 및 FOBX 구조체에 대한 공간이 있습니다.
구문
PFCB RxCreateNetFcb(
[in] IN PRX_CONTEXT RxContext,
[in] IN PIRP Irp,
[in] IN PV_NET_ROOT VNetRoot,
[in] IN PUNICODE_STRING Name
);
매개 변수
[in] RxContext
만들기 작업을 설명하는 RX_CONTEXT 구조체에 대한 포인터입니다.
[in] Irp
이 RX_CONTEXT 구조체로 캡슐화된 IRP에 대한 포인터입니다.
[in] VNetRoot
이 FCB가 열려 있는 V_NET_ROOT 구조체에 대한 포인터입니다.
[in] Name
FCB의 이름입니다. V_NET_ROOT 여기에 앞에 추가될 이름 접두사를 포함할 수 있습니다.
반환 값
RxCreateNetFCB 는 성공 시 새로 할당된 FCB 데이터 구조에 대한 포인터 또는 실패 시 NULL 포인터를 반환합니다.
설명
RxCreateNetFCB 루틴은 일반적으로 네트워크 미니 리디렉터 드라이버에서 직접 호출되지 않습니다. RDBSS는 IRP_MJ_CREATE 대한 I/O 요청 패킷이 수신되고 FCB 구조를 만들어야 할 때 내부적으로 이 루틴을 호출합니다. 이 IRP는 일반적으로 네트워크 공유에서 파일 만들기 작업을 요청하는 사용자 모드 애플리케이션에 대한 응답으로 RDBSS에서 수신됩니다. 다른 커널 드라이버가 이러한 IRP를 발급할 수도 있습니다.
만들 FCB가 페이징 파일인 경우 RxCreateNetFCB 는 새 FCB 데이터 구조를 만들 때 페이징되지 않은 풀 메모리를 할당하고 FCB의 FcbState 멤버에서 다음 플래그를 설정합니다.
만들 FCB가 페이징 파일이 아닌 경우 RxCreateNetFCB 는 새 FCB 데이터 구조를 만들 때 페이징된 풀 메모리를 할당합니다.
Windows는 현재 원격 머신에 페이징 파일을 보유하는 것을 허용하지 않습니다.
RX_CONTEXT Create.Flags 멤버에 RX_CONTEXT_CREATE_FLAG_ADDEDBACKSLASH 플래그가 설정되어 있으면 FCB의 FcbState 멤버에 FCB_STATE_ADDEDBACKSLASH 플래그가 설정됩니다.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | 데스크톱 |
머리글 | fcb.h(Rxcontx.h, Mrxfcb.h, Fcb.h 포함) |
IRQL | <= APC_LEVEL |