共用方式為


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
    );
        
};

方法

方法

描述

ICeeGen::AddSectionReloc 方法

將 .reloc 指令加入至程式碼基底中。

ICeeGen::AllocateMethodBuffer 方法

為方法建立指定之大小的緩衝區,並且取得此方法的相對虛擬位址。

ICeeGen::ComputePointer 方法

判斷指定程式碼區段的緩衝區。

ICeeGen::EmitString 方法

將指定的字串發出到程式碼基底。

ICeeGen::GenerateCeeFile 方法

產生程式碼基底檔案,此檔案包含目前已載入此 ICeeGen 中的程式碼基底。

ICeeGen::GenerateCeeMemoryImage 方法

為程式碼基底在記憶體中產生映像。

ICeeGen::GetIlSection 方法

取得指定之控制代碼所參考之中繼語言 (Intermediate Language) 程式碼基底的區段。

ICeeGen::GetIMapTokenIface 方法

取得指定語彙基元所參考的介面。

ICeeGen::GetMethodBuffer 方法

在指定的相對虛擬位址上取得對方法而言為適當大小的緩衝區。

ICeeGen::GetSectionBlock 方法

取得程式碼基底的區段區塊。

ICeeGen::GetSectionCreate 方法

使用指定的名稱和旗標值產生及取得程式碼區段。

ICeeGen::GetSectionDataLen 方法

取得指定區段的長度。

ICeeGen::GetString 方法

取得存放在指定相對虛擬位址的字串。

ICeeGen::GetStringSection 方法

取得指定控制代碼所參考的程式碼區段字串表示。

ICeeGen::TruncateSection 方法

將指定程式碼區段截斷指定的長度。

需求

**平台:**請參閱 .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

請參閱

其他資源

中繼資料介面