coNtext_handle_serialize屬性

[coNtext_handle_serialize] ACF 屬性保證不論應用程式的預設行為為何,內容控制碼一律會序列化。

typedef [context_handle_serialize [ , type-acf-attribute-list ] ] context-handle-type;

[context_handle_serialize [, function-acf-attribute-list ] ] function-name( );

function-name(
    [context_handle_serialize [ , parameter-acf-attribute-list ] ] param-name );

參數

type-acf-attribute-list

套用至型別的任何其他 ACF 屬性。

coNtext-handle-type

指定內容控制碼類型的識別碼,如 typedef 宣告中所定義。 這是在 IDL 檔案中接收 [coNtext_handle_serialize] 屬性的類型。

function-acf-attribute-list

套用至函式的任何其他 ACF 屬性。

function-name

IDL 檔案中所定義的函式名稱。

parameter-acf-attribute-list

套用至 參數的任何其他 ACF 屬性。

param-name

IDL 檔案中所定義的參數名稱。

備註

[coNtext_handle_serialize]屬性會識別系結控制碼,該控制碼會在遠端程序呼叫之間維護伺服器上的內容或狀態資訊。 屬性可以顯示為 IDL typedef 類型 屬性、函式傳回型別屬性或參數屬性。

根據預設,內容控制碼上的呼叫會序列化,但應用程式可以呼叫 RpcSsDontSerializeCoNtext 來覆寫此預設行為。 在 ACF 檔案中使用 [coNtext_handle_serialize] 屬性可確保呼叫此特定內容控制碼上的呼叫會序列化,即使呼叫應用程式已覆寫預設序列化也一樣。 內容取消常式是選擇性的。

這個屬性可在 MIDL 5.0 版中使用。

Windows Server 2003 和 Windows XP 或更新版本:單一介面可以容納序列化和非序列化的內容控制碼,讓介面上的一種方法可以獨佔方式存取內容控制碼 (序列化) ,而其他方法則可在共用模式中存取該內容控制碼, (非序列化) 。 這些存取功能相當於讀取/寫入鎖定機制;使用序列化內容控制碼的方法是 (寫入器) 的獨佔使用者,而使用非序列化內容控制碼的方法則是共用使用者 (讀取器) 。 必須序列化終結或修改內容控制碼狀態的方法。 未修改內容控制碼狀態的方法,例如只從內容控制碼讀取的方法,可以進行非序列化。 請注意,建立方法會隱含序列化。

範例

typedef [context_handle_serialize] PCONTEXT_HANDLE_TYPE; 
HRESULT RemoteFunc([context_handle_serialize] pCxHandle);

另請參閱

ACF) (應用程式組態檔

ACF 屬性

coNtext_handle_noserialize

coNtext_handle

內容控制碼

RpcSsDontSerializeCoNtext

伺服器內容執行常式

多執行緒用戶端和內容控制碼

typedef