ISSCommandWithParameters::GetParameterProperties(OLE DB)
각 UDT 또는 XML 매개 변수당 SSPARAMPROPS 속성 집합을 하나씩 반환하는 방식으로 SSPARAMPROPS 속성 집합 구조의 배열을 반환합니다.
구문
HRESULT GetParameterProperties(
DB_UPARAMS *pcParams,
SSPARAMPROPS **prgParamProperties);
인수
pcParams[out][in]
prgParamProperties에 반환된 SSPARAMPROPS 구조의 개수를 포함하는 메모리에 대한 포인터입니다.prgParamProperties[out]
SSPARAMPROPS 구조의 배열이 반환될 메모리에 대한 포인터입니다. 공급자는 구조에 사용할 메모리를 할당하고 이 메모리에 대한 주소를 반환합니다. 소비자는 구조가 더 이상 필요 없게 되면 IMalloc::Free를 사용하여 이 메모리를 해제합니다. 변형에 BSTR과 같은 참조 형식이 포함되어 있는 경우 메모리 누수를 방지하기 위해 소비자는 prgParamProperties에 대해 IMalloc::Free를 호출하기 전에 각 DBPROP 구조의 vValue 속성에 대해 VariantClear를 호출해야 합니다. 출력에서 pcParams가 0이거나 DB_E_ERRORSOCCURRED 외의 오류가 발생하는 경우 공급자는 메모리를 할당하지 않으며 출력에서 prgParamProperties가 Null 포인터인지 확인합니다.
반환 코드 값
GetParameterProperties 메서드는 DB_S_ERRORSOCCURRED 및 DB_E_ERRORSOCCURED가 발생할 수 없다는 점을 제외하고는 핵심 OLE DB ICommandProperties::GetProperties 메서드와 같은 오류 코드를 반환합니다.
주의
ISSCommandWithParameters::GetParameterProperties는 GetParameterInfo에 따라 일정하게 동작합니다. ISSCommandWithParameters::SetParameterProperties 또는 SetParameterInfo를 호출하지 않았거나 cParams를 0으로 설정하고 호출한 경우 GetParameterInfo는 매개 변수 정보를 파생하고 이를 반환합니다. 하나 이상의 매개 변수에 대해 ISSCommandWithParameters::SetParameterProperties 또는 SetParameterInfo를 호출한 경우 ISSCommandWithParameters::GetParameterProperties는 ISSCommandWithParameters::SetParameterProperties가 호출된 매개 변수에 대해서만 속성을 반환합니다. ISSCommandWithParameters::GetParameterProperties 또는 GetParameterInfo 다음에 ISSCommandWithParameters::SetParameterProperties를 호출하면 후속 ISSCommandWithParameters::GetParameterProperties 호출은 ISSCommandWithParameters::SetParameterProperties가 호출된 매개 변수에 대해 재정의된 값을 반환합니다.
SSPARAMPROPS 구조는 다음과 같이 정의됩니다.
struct SSPARAMPROPS {
DBORDINAL iOrdinal;
ULONG cPropertySets;
DBPROPSET *rgPropertySets;
};
멤버 |
설명 |
---|---|
iOrdinal |
전달된 매개 변수의 서수입니다. |
cPropertySets |
rgPropertySets에 있는 DBPROPSET 구조의 개수입니다. |
rgPropertySets |
DBPROPSET 구조의 배열을 반환할 메모리에 대한 포인터입니다. |