ICeeGen
更新: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 中的程式碼基底。 |
|
為程式碼基底在記憶體中產生映像。 |
|
取得指定之控制代碼所參考之中繼語言 (Intermediate Language) 程式碼基底的區段。 |
|
取得指定語彙基元所參考的介面。 |
|
在指定的相對虛擬位址上取得對方法而言為適當大小的緩衝區。 |
|
取得程式碼基底的區段區塊。 |
|
使用指定的名稱和旗標值產生及取得程式碼區段。 |
|
取得指定區段的長度。 |
|
取得存放在指定相對虛擬位址的字串。 |
|
取得指定控制代碼所參考的程式碼區段字串表示。 |
|
將指定程式碼區段截斷指定的長度。 |
需求
**平台:**請參閱 .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