IDebugComPlusSymbolProvider2::GetTypeFromToken
Возвращает тип заданного свой маркер.
HRESULT GetTypeFromToken(
ULONG32 appDomain,
GUID guidModule,
DWORD tdToken,
IDebugField** ppField
);
int GetTypeFromToken(
uint appDomain,
Guid guidModule,
uint tdToken,
out IDebugField ppField
);
Параметры
appDomain
[in] идентификатор домена приложения.guidModule
[in] уникальный идентификатор модуля.tdToken
[in] маркер типа, который необходимо извлечь.ppField
[out] возвращает тип, представленный IDebugField.
Возвращаемое значение
В случае успеха возвращает S_OK; в противном случае возвращает код ошибки.
Пример
В следующем примере показано, как реализовать этот метод, a CDebugSymbolProvider объект, предоставляющий IDebugComPlusSymbolProvider2 интерфейс.
HRESULT CDebugSymbolProvider::GetTypeFromToken(
ULONG32 ulAppDomainID,
GUID guidModule,
DWORD tdToken,
IDebugField **ppField)
{
HRESULT hr = E_FAIL;
METHOD_ENTRY( CDebugDynamicFieldSymbol::GetTypeFromToken );
ASSERT(IsValidObjectPtr(this, CDebugSymbolProvider));
ASSERT(IsValidWritePtr(ppField, IDebugField*));
Module_ID idModule(ulAppDomainID, guidModule);
IfFailGo( this->CreateClassType(idModule, tdToken, ppField) );
Error:
METHOD_EXIT( CDebugDynamicFieldSymbol::GetTypeFromToken, hr );
return hr;
}