Функция RxCreateSrvCall (fcb.h)
RxCreateSrvCall создает структуру SRV_CALL и вставляет имя в таблицу net name, поддерживаемую RDBSS.
Синтаксис
PSRV_CALL RxCreateSrvCall(
IN PRX_CONTEXT RxContext,
IN PUNICODE_STRING Name,
IN PUNICODE_STRING InnerNamePrefix,
IN PRX_CONNECTION_ID RxConnectionId
);
Параметры
RxContext
[in] Указатель на структуру RX_CONTEXT, содержащую IRP, описывающую операцию создания.
Name
[in] Указатель на имя, вставляемое в таблицу имен.
InnerNamePrefix
Указатель на необязательное внутреннее имя префикса, вставляемое в таблицу имен с именем.
RxConnectionId
[in] Указатель на идентификатор подключения, связанный с именем, вставляемым в таблицу имен префиксов. Этот параметр может иметь значение NULL , в этом случае идентификатор подключения не будет связан с именем, вставленным в таблицу имен префиксов.
Возвращаемое значение
RxCreateSrvCall возвращает указатель на только что созданную SRV_CALL структуру данных об успешном выполнении или указатель NULL при сбое.
Комментарии
Подпрограмма RxCreateSrvCall обычно не вызывается драйверами сетевого мини-перенаправления напрямую. RDBSS вызывает эту подпрограмму внутренне, когда для IRP_MJ_CREATE получен пакет запроса ввода-вывода и необходимо создать SRV_CALL. Этот IRP обычно получается RDBSS в ответ на запрос операции создания файла в общей сетевой папке в пользовательском режиме. Такой IRP также может выдать другой драйвер ядра.
Перед вызовом RxCreateSrvCall блокировка таблицы имен, связанной с элементом объекта устройства параметра RxContext , должна быть получена в монопольном режиме.
RxCreateSrvCall инициализирует параметры вызова сервера, передаваемые через расширенные атрибуты в составе связанной структуры RX_CONTEXT. В настоящее время сюда входит инициализация элемента pPrincipalName SRV_CALL который передается драйвером DFS.
Требования
Требование | Значение |
---|---|
Целевая платформа | Персональный компьютер |
Верхняя часть | fcb.h (включают Rxcontx.h, Mrxfcb.h, Prefix.h, Fcb.h) |
IRQL | <= APC_LEVEL |