Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Pobiera symbole debugowania z danym atrybutem nadrzędnym dla określonego modułu.
Składnia
int GetSymAttribute (
uint ulAppDomainID,
Guid guidModule,
int tokParent,
string pstrName,
uint cBuffer,
out uint pcBuffer,
out int[] buffer
);
Parametry
ulAppDomainID
[in] Identyfikator domeny aplikacji.
guidModule
[in] Unikatowy identyfikator modułu.
tokParent
[in] Token atrybutu nadrzędnego.
pstrName
[in] Nazwa modułu.
cBuffer
[in] Liczba bajtów wymaganych dla danych wyjściowych buffer.
pcBuffer
[out] Długość danych wyjściowych buffer.
buffer
[out] Tablica zawierająca symbole.
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 CDebugSymbolProvider, który uwidacznia interfejs IDebugComPlusSymbolProvider.
HRESULT CDebugSymbolProvider::GetSymAttribute(
ULONG32 ulAppDomainID,
GUID guidModule,
_mdToken tokParent,
__in_z LPOLESTR pstrName,
ULONG32 cBuffer,
ULONG32 *pcBuffer,
BYTE buffer[])
{
HRESULT hr = S_OK;
CComPtr<CModule> pModule;
Module_ID idModule(ulAppDomainID, guidModule);
METHOD_ENTRY( CDebugSymbolProvider::GetSymAttribute );
IfFailGo( GetModule( idModule, &pModule) );
IfFailGo( pModule->GetSymAttribute( tokParent, pstrName, cBuffer, pcBuffer, buffer ) );
Error:
METHOD_EXIT(CDebugSymbolProvider::GetSymAttribute, hr);
return hr;
}