ISSCommandWithParameters::GetParameterProperties(OLE DB)
적용 대상:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)
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_ERRORSOCCURRED 발생할 수 없습니다.
설명
ISSCommandWithParameters::GetParameterProperties
메서드는 .와 관련하여 일관되게 동작합니다 GetParameterInfo
.
ISSCommandWithParameters::SetParameterProperties
0 SetParameterInfo
과 같은 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 구조의 배열을 반환할 메모리에 대한 포인터입니다. |