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


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

Если связанный ФКБ является файлом на страницы, RxCreateSrvOpen выделяет нестраничную память пула при создании новой структуры данных SRV_OPEN. Если связанный ФКБ не является файлом на страницы, 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