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