srv_paramdata (API de Procedimentos Armazenados Estendidos)

Aplica-se a: SQL Server

Importante

Esse recurso será removido em uma versão futura do SQL Server. Evite usar esse recurso em novos trabalhos de desenvolvimento e planeje modificar aplicativos que atualmente usam esse recurso. Usa antes a integração CLR.

Devolve o valor de um parâmetro de chamada de procedimento armazenado remotamente. Esta função foi substituída pela função srv_paraminfo .

Syntax

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

Arguments

srvproc
É um ponteiro para a estrutura SRV_PROC que é o handle para uma ligação cliente particular (neste caso, o handle que recebeu a chamada remota ao procedimento armazenado). A estrutura contém informação que a biblioteca de Procedimentos Armazenados Estendidos utiliza para gerir a comunicação e os dados entre a aplicação e o cliente.

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

Devoluções

Um apontador para o valor do parâmetro. Se o parâmetro n-ésimofor NULL, não existe parâmetron-ésimo, ou se não existe procedimento armazenado remoto, devolve NULL. Se o valor do parâmetro for uma cadeia, pode não ser terminada por nulo. Use srv_paramlen para determinar o comprimento da corda.

Esta função devolve os seguintes valores, se o parâmetro for um dos tipos de dados do Microsoft SQL Server. Os dados do ponteiro incluem se o ponteiro do tipo de dado é válido (VP), NULL ou não aplicável (N/D), 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/D

<255: N/D
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 + enchimento (até 255)
BIGBINARY NULL: NULL, N/A

ZERO: Vice-presidente, 255 0x00

>=255: VP, 255 bytes

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

ZERO: Vice-presidente, 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 + enchimento (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/D

<255: N/D

* os dados não são terminados por nulos; Não é emitido qualquer aviso na truncação para dados >de 255 caracteres.

Observações

Se souberes o nome do parâmetro, podes usar srv_paramnumber para obter o número do parâmetro. Para determinar se um parâmetro é NULO, use srv_paramlen.

Quando uma chamada remota de procedimento armazenado é feita com parâmetros, os parâmetros podem ser passados por nome ou por posição (não nomeada). Se a chamada remota ao procedimento armazenado for feita com alguns parâmetros passados pelo nome e outros passados pela posição, ocorre um erro. Se ocorrer um erro, o handler de SRV_RPC continua a ser chamado, mas parece que não havia parâmetros e srv_rpcparams devolve 0.

Importante

Deves rever cuidadosamente o código-fonte dos procedimentos armazenados estendidos e deves testar as DLLs compiladas antes de as instalares num servidor de produção. Para informações sobre revisão e testes de segurança, consulte este site da Microsoft.