IDebugGenericParamField::ConstraintCount
Zwraca liczbę ograniczeń skojarzonych z tym parametrem ogólnym.
Składnia
Parametry
pcConst
[in, out] Liczba ograniczeń skojarzonych z tym polem.
Wartość zwracana
Jeśli operacja powiedzie się, zwraca wartość S_OK
; w przeciwnym razie zwraca kod błędu.
Przykład
W poniższym przykładzie pokazano, jak zaimplementować tę metodę dla obiektu CDebugGenericParamFieldType , który uwidacznia interfejs IDebugGenericParamField .
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;
}