Share via


Metodo ICorProfilerInfo3::GetModuleInfo2

Dato un ID modulo, restituisce il nome file del modulo, l'ID dell'assembly padre del modulo e una maschera di bit che descrive le proprietà del modulo.

Sintassi

HRESULT GetModuleInfo2(  
    [in]  ModuleID   moduleId,  
    [out] LPCBYTE    *ppBaseLoadAddress,  
    [in]  ULONG      cchName,  
    [out] ULONG      *pcchName,  
    [out, annotation("__out_ecount_part(cchName, *pcchName)")]  
          WCHAR      szName[] ,  
    [out] AssemblyID *pAssemblyId);  
    [out] DWORD                 *pdwModuleFlags);  

Parametri

moduleId
[in] ID del modulo per cui verranno recuperate informazioni.

ppBaseLoadAddress
[out] Indirizzo di base in cui viene caricato il modulo.

cchName
[in] Lunghezza, espressa in caratteri, del buffer restituito szName.

pcchName
[out] Puntatore alla lunghezza totale in caratteri del nome file del modulo che viene restituito.

szName
[out] Buffer per caratteri di tipo "wide" fornito dal chiamante. Quando il metodo viene completato, questo buffer contiene il nome file del modulo.

pAssemblyId
[out] Puntatore all'ID dell'assembly padre del modulo.

pdwModuleFlags
[out] Maschera di bit dei valori dell'enumerazione COR_PRF_MODULE_FLAGS che specifica le proprietà del modulo.

Commenti

Per i moduli dinamici, il parametro szName è il nome di metadati del modulo e l'indirizzo di base è 0 (zero). Il nome dei metadati è il valore nella colonna Name dalla tabella Module all'interno dei metadati. Viene inoltre esposta come Module.ScopeName proprietà al codice gestito e come szName parametro del metodo IMetaDataImport::GetScopeProps al codice client dei metadati non gestito.

Anche se il GetModuleInfo2 metodo può essere chiamato non appena esiste l'ID del modulo, l'ID dell'assembly padre non sarà disponibile finché il profiler non riceve il callback ICorProfilerCallback::ModuleAttachedToAssembly .

Dopo il completamento del metodo GetModuleInfo2, è necessario verificare che il buffer szName sia abbastanza grande per contenere il nome file completo del modulo. A tale scopo, confrontare il valore a cui punta pcchName con il valore del parametro cchName. Se pcchName punta a un valore maggiore di cchName, allocare un buffer szName più grande, aggiornare cchName con la nuova dimensione e chiamare nuovamente GetModuleInfo2.

In alternativa, è possibile chiamare innanzitutto GetModuleInfo2 con un buffer szName di lunghezza zero per ottenere le dimensioni del buffer corrette. È quindi possibile impostare le dimensioni del buffer sul valore restituito nel parametro pcchName e chiamare nuovamente GetModuleInfo2.

Requisiti

Piattaforme: vedere Requisiti di sistema di .NET Framework.

Intestazione: CorProf.idl, CorProf.h

Libreria: CorGuids.lib

Versioni di .NET Framework: Disponibile da 4

Vedi anche