Metodo ICorProfilerInfo::GetModuleInfo

Dato un ID modulo, restituisce il nome file del modulo e l'ID dell'assembly padre del modulo.

Sintassi

HRESULT GetModuleInfo(  
    [in]  ModuleID   moduleId,  
    [out] LPCBYTE    *ppBaseLoadAddress,  
    [in]  ULONG      cchName,  
    [out] ULONG      *pcchName,  
    [out, size_is(cchName), length_is(*pcchName)]  
          WCHAR      szName[] ,  
    [out] AssemblyID *pAssemblyId);  

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.

Commenti

Per i moduli dinamici, il parametro szName è una stringa vuota e l'indirizzo di base è 0 (zero).

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

Dopo il completamento del metodo GetModuleInfo, è 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 GetModuleInfo.

In alternativa, è possibile chiamare innanzitutto GetModuleInfo 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 GetModuleInfo.

Requisiti

Piattaforme: vedere Requisiti di sistema di .NET Framework.

Intestazione: CorProf.idl, CorProf.h

Libreria: CorGuids.lib

Versioni di .NET Framework: Disponibile da 2.0

Vedi anche