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

RxCreateSrvOpen выделяет, инициализирует и вставляет новую структуру SRV_OPEN в структуры данных в памяти, используемые RDBSS. Если необходимо выделить новую структуру, в ней есть место для структуры FOBX.

Синтаксис

PSRV_OPEN RxCreateSrvOpen(
  [in]      IN PV_NET_ROOT VNetRoot,
  [in, out] IN OUT PFCB    Fcb
);

Параметры

[in] VNetRoot

Указатель на структуру V_NET_ROOT.

[in, out] Fcb

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

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

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

Комментарии

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

Перед вызовом RxCreateSrvOpen блокировка связанной структуры FCB должна быть получена в монопольном режиме.

RxCreateSrvOpen попытается использовать SRV_CALL, выделенные как часть связанной структуры FCB, если она доступна. Если SRV_CALL, выделенный с помощью FCB, недоступен, RxCreateSrvOpen выделит новую структуру SRV_CALL.

Если связанный FCB является файлом подкачки, RxCreateSrvOpen выделяет память нестраничного пула при создании новой SRV_OPEN структуры данных. Если связанный FCB не является файлом подкачки, RxCreateSrvOpen выделяет память пула страниц при создании новой структуры данных SRV_OPEN.

В настоящее время Windows не позволяет использовать файл подкачки на удаленном компьютере.

Требования

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

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

RxCreateNetFcb

RxCreateNetFobx

RxCreateNetRoot

RxCreateSrvCall

RxCreateVNetRoot

RxDereference

RxFinalizeConnection

RxFinalizeNetFcb

RxFinalizeNetFobx

RxFinalizeNetRoot

RxFinalizeSrvCall

RxFinalizeSrvOpen

RxFinalizeVNetRoot

RxFinishFcbInitialization

RxForceFinalizeAllVNetRoots

RxReference

RxSetSrvCallDomainName

RxpDereferenceNetFcb

RxpReferenceNetFcb

Структура FCB

Структура SRV_OPEN

Структура V_NET_ROOT