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


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

Значение, указывающее элемент флагов 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-разрядные элементы флагов члена NET_ROOT. Эта подпрограмма не проверяет или проверяет, какие флаги устанавливаются.

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

Требования

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