Поделиться через


Функция 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

Указатель на IRP, инкапсулированный этой структурой RX_CONTEXT.

[in] VNetRoot

Указатель на структуру V_NET_ROOT, в которой открывается этот FCB.

[in] Name

Имя FCB. V_NET_ROOT может содержать префикс имени, который должен быть добавлен здесь.

Возвращаемое значение

RxCreateNetFCB возвращает указатель на только что выделенную структуру данных FCB при успешном выполнении или указатель NULL при сбое.

Комментарии

Подпрограмма RxCreateNetFCB обычно не вызывается драйверами мини-перенаправления сети напрямую. RDBSS вызывает эту подпрограмму внутренне, когда пакет запроса ввода-вывода получен для IRP_MJ_CREATE и необходимо создать структуру FCB. Эта IRP обычно получается RDBSS в ответ на запрос приложения в пользовательском режиме, запрашивающего операцию создания файла в сетевой папке. Такой IRP также может выдать другой драйвер ядра.

Если создаваемый FCB является файлом подкачки, RxCreateNetFCB выделяет память нестраничного пула при создании новой структуры данных FCB и устанавливает следующий флаг в элементе FcbState FCB:

Если создаваемый FCB не является файлом подкачки, RxCreateNetFCB выделяет память пула страниц при создании новой структуры данных FCB.

В настоящее время Windows не позволяет использовать файл подкачки на удаленном компьютере.

Если для элемента Create.Flags в RX_CONTEXT включен флаг RX_CONTEXT_CREATE_FLAG_ADDEDBACKSLASH, то для элемента FcbState fcbstate будет установлен флаг FCB_STATE_ADDEDBACKSLASH.

Требования

Требование Значение
Целевая платформа Персональный компьютер
Верхняя часть fcb.h (включает Rxcontx.h, Mrxfcb.h, Fcb.h)
IRQL <= APC_LEVEL

См. также раздел

RX_CONTEXT

RxCreateNetFobx

RxCreateNetRoot

RxCreateSrvCall

RxCreateSrvOpen

RxCreateVNetRoot

RxDereference

RxFinalizeConnection

RxFinalizeNetFcb

RxFinalizeNetFobx

RxFinalizeNetRoot

RxFinalizeSrvCall

RxFinalizeSrvOpen

RxFinalizeVNetRoot

RxFinishFcbInitialization

RxForceFinalizeAllVNetRoots

RxReference

RxSetSrvCallDomainName

RxpDereferenceNetFcb

RxpReferenceNetFcb

Структура FCB

Структура V_NET_ROOT