다음을 통해 공유


SQL Server Native Client의 ISSCommandWithParameters::GetParameterProperties(OLE DB)

적용 대상: SQL Server Azure SQL 데이터베이스 Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System(PDW)

Important

SQL Server Native Client(약칭 SNAC)는 SQL Server 2022(16.x) 및 SSMS(SQL Server Management Studio) 19에서 제거되었습니다. SQL Server Native Client OLE DB 공급자(SQLNCLI 또는 SQLNCLI11)와 레거시 Microsoft OLE DB Provider for SQL Server(SQLOLEDB)는 모두 새로운 개발에 권장되지 않습니다. 앞으로 SQL Server용 새 Microsoft OLE DB 드라이버(MSOLEDBSQL)로 전환합니다.

SSPARAMPROPS 속성 집합 구조체의 배열을 반환하며, 각 UDT 또는 XML 매개 변수에 대해 하나의 SSPARAMPROPS 속성 집합을 반환합니다.

구문

HRESULT GetParameterProperties(  
      DB_UPARAMS *pcParams,  
      SSPARAMPROPS **prgParamProperties);  

인수

pcParams[out][in]
prgParamProperties에서 반환된 SSPARAMPROPS 구조체의 수를 포함하는 메모리에 대한 포인터입니다.

prgParamProperties[out]
SSPARAMPROPS 구조의 배열이 반환되는 메모리에 대한 포인터입니다. 공급자는 구조체에 대한 메모리를 할당하고 이 메모리에 주소를 반환합니다. 소비자는 더 이상 구조가 필요하지 않을 때 IMalloc::Free를 사용하여 이 메모리를 해제합니다. prgParamProperties에 대해 IMalloc::Free를 호출하기 전에 소비자는 변형에 참조 형식(예: BSTR)이 포함된 경우 메모리 누수 방지를 위해 각 DBPROP 구조체의 vValue 속성에 대해 VariantClear 를 호출해야 합니다. pcParams가 출력 시 0이거나 DB_E_ERRORSOCCURRED 이외의 오류가 발생하는 경우 공급자는 메모리를 할당하지 않으며 prgParamProperties출력에 대한 null 포인터인지 확인합니다.

반환 코드 값

GetParameterProperties 메서드는 코어 OLE DB ICommandProperties::GetProperties 메서드와 동일한 오류 코드를 반환합니다. 단, DB_S_ERRORSOCCURRED 및 DB_E_ERRORSOCCURED 발생할 수 없습니다.

설명

ISSCommandWithParameters::GetParameterProperties는 GetParameterInfo와 관련하여 일관되게 동작합니다. ISSCommandWithParameters::SetParameterProperties 또는 SetParameterInfo가 호출되지 않았거나 0과 같은 cParams로 호출된 경우 GetParameterInfo는 매개 변수 정보를 파생시키고 이를 반환합니다. ISSCommandWithParameters::SetParameterProperties 또는 SetParameterInfo가 하나 이상의 매개 변수에 대해 호출된 경우 ISSCommandWithParameters::GetParameterProperties는 ISSCommandWithParameters::SetParameterProperties가 호출된 매개 변수에 대해서만 속성을 반환합니다. ISSCommandWithParameters::SetParameterProperties가 ISSCommandWithParameters::GetParameterProperties 또는 GetParameterInfo 이후에 호출되는 경우 ISSCommandWithParameters::GetParameterProperties에 대한 후속 호출은 ISSCommandWithParameters::SetParameterProperties가 호출된 매개 변수에 대해 재정의된 값을 반환합니다.

SSPARAMPROPS 구조체는 다음과 같이 정의됩니다.

struct SSPARAMPROPS {
    DBORDINAL iOrdinal;
    ULONG cPropertySets;
    DBPROPSET *rgPropertySets;
};
멤버 설명
iOrdinal 전달된 매개 변수의 서수입니다.
cPropertySets rgPropertySets의 DBPROPSET 구조체 수입니다.
rgPropertySets DBPROPSET 구조의 배열을 반환할 메모리에 대한 포인터입니다.

참고 항목

ISSCommandWithParameters(OLE DB)