local 屬性

[local]屬性會指定介面或函式不是遠端的 MIDL 編譯器。

[ 
    local 
    [, interface-attribute-list] 
] 
interface interface-name
{
}

[ 
    object, 
    uuid(string-uuid), 
    local [, interface-attribute-list] 
]
interface interface-name
{
}

[ local [, function-attribute-list] ] function-declarator ;

參數

interface-attribute-list

指定套用至整個介面的其他屬性。 屬性 [endpoint][version][pointer_default] 是選擇性的。 當您使用/app_config參數進行編譯時,也可以存在[implicit_handle][auto_handle]。 以逗號分隔多個屬性。

interface-name

指定軟體元件可依此名稱來描述介面。

string-uuid

指定 Uuidgen 公用程式所產生的 UUID 字串。 如果您未使用 MIDL 編譯器參數 /osf,則可以以引號括住 UUID 字串。

function-attribute-list

指定套用至函式的零個或多個屬性。 有效的函式屬性為[回呼];指標屬性[ref][unique][ptr];和使用屬性[string][ignore][coNtext_handle]。 以逗號分隔多個屬性。

function-declarator

指定函式的類型規範、函式名稱和參數清單。

備註

[local]屬性可以套用至個別函式或整個介面。

在介面標頭中使用時, [local] 屬性可讓您使用 MIDL 編譯器作為標頭產生器。 編譯器不會為任何函式產生存根,而且不會確保標頭可以傳輸。

對於 RPC 介面, [local] 屬性不能與 [uuid] 屬性同時使用。 [uuid][local]必須存在於介面標頭中,而且您選擇的標頭必須剛好發生一次。

若為[object]介面屬性所識別的 COM 介面 () ,即使 [uuid]屬性存在,介面屬性清單也可以包含[local]屬性。

在個別函式中使用時, [local] 屬性會指定不會產生存根的本機程式。 使用 [local] 作為函式屬性是 DCE IDL 的 Microsoft 延伸模組。 因此,當您使用 MIDL /osf 參數進行編譯時,無法使用這個屬性。

請注意,沒有屬性的介面可以匯入基底 IDL 檔案。 不過,介面必須只包含沒有程式的資料類型。 如果介面中甚至包含一個程式,則必須指定本機或 UUID 屬性。

範例

/* IDL file #1 */ 
[
    local
] 
interface local_procs 
{ 
    void MyLocalProc(void);
} 
 
/* IDL file #2 */ 
[
    object, 
    uuid(12345678-1234-1234-123456789ABC), 
    local
] 
interface local_object_procs : IUnknown
{ 
    void MyLocalObjectProc(void);
} 
 
/* IDL file #3 */ 
[
    uuid(87654321-1234-1234-123456789ABC)
] 
interface mixed_procs 
{ 
    [local] void MyLocalProc(void); 
    HRESULT MyRemoteProc([in] short sParam); 
}

另請參閱

/app_config

auto_handle

回檔

coNtext_handle

endpoint

介面定義 (IDL) 檔案

忽略

implicit_handle

/osf

物件

pointer_default

Ptr

ref

string

獨特

uuid

版本