更新:2007 年 11 月
提供用于动态代码编译的方法。
interface ICeeGen : IUnknown {
HRESULT AddSectionReloc (
HCEESECTION section,
ULONG offset,
HCEESECTION relativeTo,
CeeSectionRelocType relocType
);
HRESULT AllocateMethodBuffer (
ULONG cchBuffer,
UCHAR **lpBuffer,
ULONG *RVA
);
HRESULT ComputePointer (
HCEESECTION section,
ULONG RVA,
UCHAR **lpBuffer
);
HRESULT EmitString (
LPWSTR lpString,
ULONG *RVA
);
HRESULT GenerateCeeFile ();
HRESULT GenerateCeeMemoryImage (
void **ppImage
);
HRESULT GetIlSection (
HCEESECTION *section
);
HRESULT GetIMapTokenIface (
IUnknown **pIMapToken
);
HRESULT GetMethodBuffer (
ULONG RVA,
UCHAR **lpBuffer
);
HRESULT GetSectionBlock (
HCEESECTION section,
ULONG len,
ULONG align = 1,
void **ppBytes = 0
);
HRESULT GetSectionCreate (
const char *name,
DWORD flags,
HCEESECTION *section
);
HRESULT GetSectionDataLen (
HCEESECTION section,
ULONG *dataLen
);
HRESULT GetString (
ULONG RVA,
LPWSTR *lpString
);
HRESULT GetStringSection (
HCEESECTION *section
);
HRESULT TruncateSection (
HCEESECTION section,
ULONG len
);
};
方法
方法 |
说明 |
---|---|
向基本代码中添加一条 .reloc 指令。 |
|
为方法创建指定大小的缓冲区并获取该方法的相对虚拟地址。 |
|
确定指定代码段的缓冲区。 |
|
将指定的字符串发出到基本代码中。 |
|
生成一个基本代码文件并使其包含当前加载到此 ICeeGen 中的基本代码。 |
|
在内存中生成基本代码的映像。 |
|
获取由指定句柄引用的中间语言基本代码节。 |
|
获取由指定标记所引用的接口。 |
|
获取指定相对虚拟地址处的方法的适当大小的缓冲区。 |
|
获取基本代码的节块。 |
|
生成并获取使用指定名称和标志值的代码段。 |
|
获取指定节的长度。 |
|
获取存储在指定相对虚拟地址的字符串。 |
|
获取由指定句柄引用的代码段的字符串表示形式。 |
|
根据指定长度截断指定代码段。 |
要求
**平台:**请参见 .NET Framework 系统要求。
**头文件:**Cor.h
**库:**在 MsCorEE.dll 中用作资源
**.NET Framework 版本:**3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0、1.1、1.0