Returns the value of a remote stored procedure call parameter.
Important This Open Data Services function or macro is only supported in Microsoft® SQL Server™ version 7.0 for backward compatibility.
For more information about Open Data Services functions or macros supported for backward compatibility, see Open Data Services (Level 3).
void * srv_paramdata (
SRV_PROC * srvproc,
int n );
A pointer to the parameter value. If the nth parameter is NULL, there is no nth parameter, or there is no remote stored procedure, returns NULL. If the parameter value is a string, it might not be null-terminated. Use srv_paramlen to determine the length of the string.
This function returns the following values, if the parameter is one of the new SQL Server 7.0 data types. Pointer data includes whether the pointer for the data type is valid (VP), NULL, or not applicable (N/A), and the contents of the data pointed to.
New data types | Input data length | |||
---|---|---|---|---|
NULL | ZERO | >=255 | <255 | |
BITN | VP NULL |
VP NULL |
N/A | N/A |
BIGVARCHAR | NULL N/A |
VP NULL |
VP 255 chars* |
VP actual data |
BIGCHAR | NULL N/A |
VP 255 spaces |
VP 255 chars* |
VP actual data + padding (up to 255) |
BIGBINARY | NULL N/A |
VP 255 0x00 |
VP 255 bytes |
VP actual data + padding (up to 255) |
BIGVARBINARY | NULL N/A |
VP 0x00 |
VP 255 bytes |
VP actual data |
NCHAR | NULL N/A |
VP 255 spaces |
VP 255 chars* |
VP actual data + padding (up to 255) |
NVARCHAR | NULL N/A |
VP NULL |
VP 255 chars* |
VP actual data |
NTEXT | N/A | N/A | N/A | N/A |
* data is not null-terminated; no warning is issued on truncation for data >255 characters. |
If you know the parameter name, you can use srv_paramnumber to get the parameter number. To determine whether a parameter is NULL, use srv_paramlen.
When a remote stored procedure call is made with parameters, the parameters can be passed by name or by position (unnamed). If the remote stored procedure call is made with some parameters passed by name and some passed by position, an error occurs. If an error occurs, the SRV_RPC handler is still called, but it appears as if there were no parameters and srv_rpcparams returns 0.
srv_rpcparams |