Функция RxCreateNetRoot (fcb.h)

RxCreateNetRoot выделяет и инициализирует структуру NET_ROOT и вставляет имя в таблицу net name в связанном объекте устройства.

Синтаксис

PNET_ROOT RxCreateNetRoot(
  [in]           IN PSRV_CALL         SrvCall,
  [in]           IN PUNICODE_STRING   Name,
  [in]           IN ULONG             NetRootFlags,
  [in, optional] IN PRX_CONNECTION_ID RxConnectionId
);

Параметры

[in] SrvCall

Указатель на связанную структуру SRV_CALL.

[in] Name

Указатель на имя, вставляемое в таблицу имен.

[in] NetRootFlags

Значение для задания элемента Flags NET_ROOT, которое используется для обозначения состояния структуры NET_ROOT.

[in, optional] RxConnectionId

Указатель на идентификатор подключения, связанный с именем, вставляемым в таблицу имен префиксов. Этот параметр может иметь значение NULL , в этом случае идентификатор подключения не будет связан с именем, вставленным в таблицу имен префикса.

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

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

Комментарии

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

Перед вызовом RxCreateNetRoot блокировка таблицы имен, связанной с элементом объекта устройства параметра SrvCall , должна быть получена в монопольном режиме.

Флаги NET_ROOT разделены на две группы: видимые для сетевых мини-перенаправлений и невидимые для сетевых мини-перенаправителей. Видимые из них являются нижними 16 битами элемента Flags NET_ROOT. Эта подпрограмма не проверка или не проверяет, какие флаги устанавливаются.

При успешном выполнении число ссылок для структуры SRV_CALL увеличивается.

Требования

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

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

RxCreateNetFcb

RxCreateNetFobx

RxCreateSrvCall

RxCreateSrvOpen

RxCreateVNetRoot

RxDereference

RxFinalizeConnection

RxFinalizeNetFcb

RxFinalizeNetFobx

RxFinalizeNetRoot

RxFinalizeSrvCall

RxFinalizeSrvOpen

RxFinalizeVNetRoot

RxFinishFcbInitialization

RxForceFinalizeAllVNetRoots

RxReference

RxSetSrvCallDomainName

RxpDereferenceNetFcb

RxpReferenceNetFcb

Структура NET_ROOT

Структура SRV_CALL