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


srv_sendmsg (API-интерфейс расширенных хранимых процедур)

Важное примечаниеВажно!

В будущей версии Microsoft SQL Server эта возможность будет удалена. Не используйте ее при работе над новыми приложениями и как можно быстрее измените приложения, в которых она в настоящее время используется. Пользуйтесь вместо этого интеграцией со средой CLR.

Отправляет клиенту сообщение.

Синтаксис

        int srv_sendmsg (
        SRV_PROC *
        srvproc
        ,
        int
        msgtype
        ,
        DBINT
        msgnum
        ,
        DBTINYINT
        class
        , 
        DBTINYINT
        state
        ,
        DBCHAR *
        rpcname
        ,
        int 
        rpcnamelen
        ,
        DBUSMALLINT
        linenum
        ,
        DBCHAR *
        message
        ,
        int
        msglen 
        );
      

Arguments

  • srvproc
    Указатель на структуру SRV_PROC, который представляет собой дескриптор соединения с клиентом (в данном случае — дескриптор, который получил запрос языка). Структура содержит сведения, которые используются библиотекой API-интерфейса расширенных хранимых процедур для управления связью и передачи данных между приложением и клиентом.

  • msgtype
    Является либо SRV_MSG_INFO, либо SRV_MSG_ERROR, в зависимости от того, отправляет сервер информационное сообщение или сообщение об ошибке.

  • msgnum
    4-байтовый номер сообщения.

  • class
    Указывает серьезность ошибки. Серьезность, меньше или равная 10, считается информационным сообщением.

  • state
    Предоставляет код состояния ошибки для текущего сообщения. Код состояния ошибки предоставляет информацию о контексте ошибки. Допустимые значения кода состояния - от 0 до 255.

  • rpcname
    Не поддерживается в текущей версии.

  • rpcnamelen
    Не поддерживается в текущей версии.

  • linenum
    Представляет собой номер строки в пакете языковых команд, к которому относится сообщение. Номера строк начинаются с 1. Если linenum не относится к сообщению, устанавливается в значение 0.

  • message
    Является указателем на символьную строку, которая должна быть отправлена клиенту.

  • msglen
    Задает длину сообщения message в байтах. Если сообщение message заканчивается символом null, задайте для параметра msglen значение SRV_NULLTERM.

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

SUCCEED или FAIL

Замечания

Эта функция отправляет клиенту сообщение об ошибке или информационное сообщение. Она вызывается один раз для каждой отправки сообщения.

Можно отправлять сообщения клиенту при помощи функции srv_sendmsg в любой последовательности перед или после того, как были отправлены все строки (если таковые были) при помощи функции srv_sendrow. Все сообщения, если таковые имеются, должны быть отправлены клиенту перед тем, как функция srv_senddone отправит состояние завершения.

Для отправки сообщений в Юникоде лучше использовать функцию srv_wsendmsg, чем функцию srv_sendmsg.

Дополнительные сведения см. в разделе Данные в Юникоде и кодовые страницы сервера.

Примечание по безопасностиПримечание по безопасности

Необходимо тщательно просмотреть исходный код расширенных хранимых процедур и проверить скомпилированные DLL-библиотеки перед их установкой на рабочий сервер. Сведения о проверке безопасности см. на следующем веб-узле Майкрософт.