Функция 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
Указатель на необязательное внутреннее префиксное имя, вставляемое в таблицу имен с name.
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 (include Rxcontx.h, Mrxfcb.h, Prefix.h, Fcb.h) |
IRQL | <= APC_LEVEL |