ISSCommandWithParameters::GetParameterProperties in SQL Server Native Client (OLE DB)
van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)
Belangrijk
De SQL Server Native Client (vaak afgekort SNAC) is verwijderd uit SQL Server 2022 (16.x) en SQL Server Management Studio 19 (SSMS). Zowel de SQL Server Native Client OLE DB-provider (SQLNCLI of SQLNCLI11) als de verouderde Microsoft OLE DB-provider voor SQL Server (SQLOLEDB) worden niet aanbevolen voor nieuwe ontwikkeling. Schakel over naar het nieuwe Microsoft OLE DB-stuurprogramma (MSOLEDBSQL) voor SQL Server.
Retourneert een matrix van SSPARAMPROPS-eigenschappensetstructuren, één SSPARAMPROPS-eigenschap die is ingesteld voor elke UDT- of XML-parameter.
Syntaxis
HRESULT GetParameterProperties(
DB_UPARAMS *pcParams,
SSPARAMPROPS **prgParamProperties);
Argumenten
pcParams[out][in]
Een aanwijzer naar het geheugen dat het aantal SSPARAMPROPS-structuren bevat dat is geretourneerd in prgParamProperties.
prgParamProperties[out]
Een aanwijzer naar het geheugen waarin een matrix van SSPARAMPROPS-structuren wordt geretourneerd. De provider wijst geheugen toe voor de structuren en retourneert het adres aan dit geheugen; de consument publiceert dit geheugen met IMalloc::Free wanneer deze de structuren niet meer nodig heeft. Voordat u IMalloc::Free aanroept voor prgParamProperties-, moet de consument ook VariantEvaluatie- aanroepen voor de eigenschap vValue van elke DBPROP-structuur om een geheugenlek te voorkomen in gevallen waarin de variant een verwijzingstype bevat (zoals een BSTR.) Als pcParams nul is op de uitvoer of als er een andere fout optreedt dan DB_E_ERRORSOCCURRED, wijst de provider geen geheugen toe en zorgt ervoor dat prgParamProperties- een null-aanwijzer is op de uitvoer.
Retourcodewaarden
De methode GetParameterProperties retourneert dezelfde foutcodes als de primaire OLE DB-methode ICommandProperties::GetProperties, behalve dat DB_S_ERRORSOCCURRED en DB_E_ERRORSOCCURRED niet kunnen worden gegenereerd.
Opmerkingen
ISSCommandWithParameters::GetParameterProperties gedraagt zich consistent met betrekking tot GetParameterInfo. Als ISSCommandWithParameters::SetParameterProperties of SetParameterInfo niet zijn aangeroepen of zijn aangeroepen met cParams gelijk aan nul, GetParameterInfo parameterinformatie afleiden en retourneert dit. Als ISSCommandWithParameters::SetParameterProperties of SetParameterInfo zijn aangeroepen voor ten minste één parameter, retourneert ISSCommandWithParameters::GetParameterProperties alleen eigenschappen voor die parameters waarvoor ISSCommandWithParameters::SetParameterProperties is aangeroepen. Als ISSCommandWithParameters::SetParameterProperties wordt aangeroepen na ISSCommandWithParameters::GetParameterProperties of GetParameterInfo, volgende aanroepen naar ISSCommandWithParameters::GetParameterProperties de overschreven waarden retourneren voor die parameters waarvoor ISSCommandWithParameters::SetParameterProperties is aangeroepen.
De SSPARAMPROPS-structuur wordt als volgt gedefinieerd:
struct SSPARAMPROPS {
DBORDINAL iOrdinal;
ULONG cPropertySets;
DBPROPSET *rgPropertySets;
};
Lid | Beschrijving |
---|---|
iOrdinal- | Het rangtelwoord van de doorgegeven parameter. |
cPropertySets | Het aantal DBPROPSET-structuren in rgPropertySets. |
rgPropertySets | Een aanwijzer naar het geheugen waarin een matrix van DBPROPSET-structuren moet worden geretourneerd. |