Функция 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, на которую открывается этот ФКБ.

[in] Name

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

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

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

Замечания

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

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

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

Windows в настоящее время не разрешает наличие разбиения по страницам на удаленном компьютере.

Если элемент Create.Flags в RX_CONTEXT имеет флаг RX_CONTEXT_CREATE_FLAG_ADDEDBACKSLASH, fcbState имеет флаг FCB_STATE_ADDEDBACKSLASH.

Требования

Требование Ценность
целевая платформа Настольный
заголовка fcb.h (include 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