Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Adı verilen özel bir özniteliği alır.
Sözdizimi
int GetCustomAttributeByName(
string pszCustomAttributeName,
ref int[] ppBlob,
out uint pdwLen
);
Parametreler
pszCustomAttributeName
[in] Özel özniteliğin adı.
ppBlob
[in,out] Özel öznitelik verilerini içeren bayt dizisi.
pdwLen
[out] Parametrenin ppBlob bayt cinsinden uzunluğu.
İade Değeri
Başarılı olursa döndürür S_OK. Özel öznitelik yoksa döndürür S_FALSE. Aksi takdirde bir hata kodu döndürür.
Örnek
Aşağıdaki örnek, IDebugCustomAttributeQuery arabirimini kullanıma sunan bir CDebugClassFieldSymbol nesnesi için bu yöntemin nasıl uygulandığını gösterir.
HRESULT CDebugClassFieldSymbol::GetCustomAttributeByName(
LPCOLESTR pszCustomAttributeName,
BYTE *pBlob,
DWORD *pdwLen
)
{
HRESULT hr = S_FALSE;
CComPtr<IMetaDataImport> pMetadata;
mdToken token = mdTokenNil;
CComPtr<IDebugField> pField;
CComPtr<IDebugCustomAttributeQuery> pCA;
ASSERT(IsValidWideStringPtr(pszCustomAttributeName));
ASSERT(IsValidWritePtr(pdwLen, ULONG*));
METHOD_ENTRY( CDebugClassFieldSymbol::GetCustomAttributeByName );
IfFalseGo( pszCustomAttributeName && pdwLen, E_INVALIDARG );
IfFailGo( m_spSH->GetMetadata( m_spAddress->GetModule(), &pMetadata ) );
IfFailGo( CDebugCustomAttribute::GetTokenFromAddress( m_spAddress, &token) );
IfFailGo( CDebugCustomAttribute::GetCustomAttributeByName( pMetadata,
token,
pszCustomAttributeName,
pBlob,
pdwLen ) );
Error:
METHOD_EXIT( CDebugClassFieldSymbol::GetCustomAttributeByName, hr );
return hr;
}