IDebugGenericParamField::ConstraintCount
Applies to: Visual Studio Visual Studio for Mac
Note
This article applies to Visual Studio 2017. If you're looking for the latest Visual Studio documentation, see Visual Studio documentation. We recommend upgrading to the latest version of Visual Studio. Download it here
Returns the number of constraints that are associated with this generic parameter.
Syntax
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;
}