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