Partilhar via


srv_paramdata (API de procedimento armazenado estendido)

Aplica-se: SQL Server

Importante

Esse recurso será removido em uma versão futura do SQL Server. Evite usar esse recurso em desenvolvimentos novos e planeje modificar os aplicativos que atualmente o utilizam. Use a integração CLR em vez disso.

Retorna o valor de um parâmetro de chamada de procedimento armazenado remoto. Essa função foi substituída pela função srv_paraminfo.

Sintaxe

  
void * srv_paramdata (  
SRV_PROC *  
srvproc  
,  
int  
n   
);  

Argumentos

srvproc
É um ponteiro para a estrutura SRV_PROC que identifica uma conexão de cliente específica (nesse caso, o identificador que recebeu a chamada do procedimento armazenado remoto). A estrutura contém informações que a biblioteca do procedimento armazenado estendido usa para gerenciar a comunicação e os dados entre o aplicativo e o cliente.

n
É o número do parâmetro. O primeiro parâmetro equivale ao número 1.

Devoluções

Um ponteiro para o valor do parâmetro. Se o n-ésimo parâmetro for NULL, se não houver n-ésimo parâmetro ou não houver procedimento armazenado remoto, retornará NULL. Se o valor do parâmetro for uma cadeia de caracteres, ele não pode terminar com caractere nulo. Use srv_paramlen para determinar o tamanho da cadeia de caracteres.

Essa função retornará os valores a seguir, se o parâmetro for um dos tipos de dados do Microsoft SQL Server. Os dados de ponteiro indicam se o ponteiro para o tipo de dados é válido (VP), NULL ou não aplicável (N/A) e o conteúdo dos dados apontados.

Novos tipos de dados Comprimento dos dados de entrada
BITN NULL: VP, NULL

ZERO: VP, NULL

>=255: N/A

<255: N/A
BIGVARCHAR NULL: NULL, N/A

ZERO: VP, NULL

>=255: VP, 255 caracteres

<255: VP, dados reais
BIGCHAR NULL: NULL, N/A

ZERO: VP, 255 espaços

>=255: VP, 255 caracteres

<255: VP, dados reais + preenchimento (até 255)
BIGBINARY NULL: NULL, N/A

ZERO: VP, 255 0x00

>=255: VP, 255 bytes

<255: VP, dados reais + preenchimento (até 255)
BIGVARBINARY NULL: NULL, N/A

ZERO: VP, 0x00

>=255: VP, 255 bytes

<255: VP, dados reais
NCHAR NULL: NULL, N/A

ZERO: VP, 255 espaços

>=255: VP, 255 caracteres

<255: VP, dados reais + preenchimento (até 255)
NVARCHAR NULL: NULL, N/A

ZERO: VP, NULL

>=255: VP, 255 caracteres

<255: VP, dados reais
NTEXT NULL: N/A

ZERO: N/A

>=255: N/A

<255: N/A

* os dados não são terminados em nulo; Nenhum aviso é emitido sobre truncamento para dados >de 255 caracteres.

Comentários

Se você souber o nome do parâmetro, poderá usar srv_paramnumber para obter o número do parâmetro. Para determinar se um parâmetro é NULL, use srv_paramlen.

Quando uma chamada de procedimento armazenado remoto for feita com parâmetros, os parâmetros poderão ser passados pelo nome ou pela posição (sem-nome). Se a chamada de procedimento armazenado remoto for feita com alguns parâmetros transmitidos pelo nome e outros pela posição, ocorrerá um erro. Em caso de erro, o manipulador SRV_RPC ainda será chamado, mas aparecerá como se não houvesse parâmetros e srv_rpcparams retornará 0.

Importante

Você deve examinar totalmente o código-fonte de procedimentos armazenados estendidos e deve testar as DLLs compiladas antes de instalá-las em um servidor de produção. Para obter informações sobre revisão e testes de segurança, consulte este site da Microsoft.

Confira também

srv_rpcparams (API de procedimento armazenado estendido)