Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Retrieves a type given its token.
HRESULT GetTypeFromToken(
   ULONG32       appDomain,
   GUID          guidModule,
   DWORD         tdToken,
   IDebugField** ppField
);
int GetTypeFromToken(
   uint            appDomain,
   Guid            guidModule,
   uint            tdToken,
   out IDebugField ppField
);
Parameters
- appDomain 
 [in] Identifier of the application domain.
- guidModule 
 [in] Unique identifier of the module.
- tdToken 
 [in] Token of the type to be retrieved.
- ppField 
 [out] Returns the type that is represented by the IDebugField.
Return Value
If successful, returns S_OK; otherwise, returns an error code.
Example
The following example shows how to implement this method for a CDebugSymbolProvider object that exposes the IDebugComPlusSymbolProvider2 interface.
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;
}