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