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

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

Синтаксис

PV_NET_ROOT RxCreateVNetRoot(
  [in] IN PRX_CONTEXT       RxContext,
  [in] IN PNET_ROOT         NetRoot,
  [in] IN PUNICODE_STRING   CanonicalName,
  [in] IN PUNICODE_STRING   LocalNetRootName,
  [in] IN PUNICODE_STRING   FilePath,
  [in] IN PRX_CONNECTION_ID RxConnectionId
);

Параметры

[in] RxContext

Указатель на RX_CONTEXT RDBSS, содержащий IRP, описывающий операцию создания.

[in] NetRoot

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

[in] CanonicalName

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

[in] LocalNetRootName

Указатель на имя локального NET_ROOT без имени префикса.

[in] FilePath

Указатель на путь к файлу. Этот параметр в настоящее время не используется и может иметь значение NULL.

[in] RxConnectionId

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

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

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

Комментарии

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

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

RxCreateVNetRoot задает различные параметры контекста безопасности в структуре V_NET_ROOT на основе параметров из RX_CONTEXT. К этим параметрам относятся: LogonId, SessionId, pUserName, pUserDomainName, pPassword и Flags.

Требования

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

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

RX_CONTEXT

RxCreateNetFcb

RxCreateNetFobx

RxCreateNetRoot

RxCreateSrvCall

RxCreateSrvOpen

RxDereference

RxFinalizeConnection

RxFinalizeNetFcb

RxFinalizeNetFobx

RxFinalizeNetRoot

RxFinalizeSrvCall

RxFinalizeSrvOpen

RxFinalizeVNetRoot

RxFinishFcbInitialization

RxForceFinalizeAllVNetRoots

RxInferFileType

RxReference

RxSetSrvCallDomainName

RxpDereferenceNetFcb

RxpReferenceNetFcb

Структура NET_ROOT

Структура V_NET_ROOT