IDebugGenericParamField::ConstraintCount
Returns the number of constraints that are associated with this generic parameter.
HRESULT ConstraintCount(
ULONG32* pcConst
);
int ConstraintCount(
ref uint pcConst
);
Parameters
- pcConst
[in, out] Number of constraints that are associated with this field.
Return Value
If successful, returns S_OK; otherwise, returns an error code.
Example
The following example shows how to implement this method for a CDebugGenericParamFieldType object that exposes the IDebugGenericParamField interface.
HRESULT CDebugGenericParamFieldType::ConstraintCount(ULONG32* pcConst)
{
HRESULT hr = S_OK;
CComPtr<IMetaDataImport> pMetadata;
CComPtr<IMetaDataImport2> pMetadata2;
HCORENUM hEnum = 0;
ULONG cConst = 0;
METHOD_ENTRY( CDebugGenericParamFieldType::ConstraintCount );
IfFalseGo(pcConst, E_INVALIDARG );
*pcConst = 0;
IfFailGo( m_spSH->GetMetadata( m_idModule, &pMetadata ) );
IfFailGo( pMetadata->QueryInterface(IID_IMetaDataImport2, (void**)&pMetadata2) );
IfFailGo( pMetadata2->EnumGenericParamConstraints( &hEnum,
m_tokParam,
NULL,
0,
&cConst) );
IfFailGo( pMetadata->CountEnum(hEnum, &cConst) );
pMetadata->CloseEnum(hEnum);
hEnum = NULL;
*pcConst = cConst;
Error:
METHOD_EXIT( CDebugGenericParamFieldType::ConstraintCount, hr );
return hr;
}