Given a module ID, returns the file name of the module and the ID of the module's parent assembly.
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);
[in] The ID of the module for which information will be retrieved.
[out] The base address at which the module is loaded.
[in] The length, in characters, of the
szName return buffer.
[out] A pointer to the total character length of the module's file name that is returned.
[out] A caller-provided wide character buffer. When the method returns, this buffer contains the file name of the module.
[out] A pointer to the ID of the module's parent assembly.
For dynamic modules, the
szName parameter is an empty string, and the base address is 0 (zero).
GetModuleInfo method may be called as soon as the module's ID exists, the ID of the parent assembly will not be available until the profiler receives the ICorProfilerCallback::ModuleAttachedToAssembly callback.
GetModuleInfo returns, you must verify that the
szName buffer was large enough to contain the full file name of the module. To do this, compare the value that
pcchName points to with the value of the
cchName parameter. If
pcchName points to a value that is larger than
cchName, allocate a larger
szName buffer, update
cchName with the new, larger size, and call
Alternatively, you can first call
GetModuleInfo with a zero-length
szName buffer to obtain the correct buffer size. You can then set the buffer size to the value returned in
pcchName and call
Platforms: See System Requirements.
Header: CorProf.idl, CorProf.h
.NET Framework Versions: Available since 2.0
Submit and view feedback for