Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Mengambil atribut kustom yang diberi namanya.
Sintaks
int GetCustomAttributeByName(
string pszCustomAttributeName,
ref int[] ppBlob,
out uint pdwLen
);
Parameter
pszCustomAttributeName
[di] Nama atribut kustom.
ppBlob
[masuk,keluar] Array byte yang berisi data atribut kustom.
pdwLen
[out] Panjang dalam byte ppBlob parameter.
Tampilkan Nilai
Jika berhasil, mengembalikan S_OK. Jika atribut kustom tidak ada, mengembalikan S_FALSE. Jika tidak, kembalikan kode galat.
Contoh
Contoh berikut menunjukkan cara menerapkan metode ini untuk objek CDebugClassFieldSymbol yang mengekspos antarmuka IDebugCustomAttributeQuery .
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;
}