更新 : 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