共用方式為


程式串行化

當您使用程式串行化時,程式會加上 [編碼] 或 [譯碼] 屬性。 編譯程式不會產生一般遠端記憶體根,而是產生例程的串行化存根。

就像遠端程式必須使用系結句柄進行遠端呼叫一樣,串行化程式必須使用串行化句柄來使用串行化服務。 如果未指定串行化句柄,則會使用預設的隱含句柄來指示呼叫。 另一方面,如果指定串行化句柄,可以是例程的明確 handle_t 自變數,或是使用 [explicit_handle] 屬性,您必須傳遞有效的句柄做為呼叫的自變數。 如需如何建立有效串行化句柄的其他資訊,請參閱 串行化句柄固定緩衝區編碼範例,以及 累加式編碼範例。

注意

Microsoft RPC 允許在一個介面中混合遠端和串行化程式。 不過,這樣做時請小心。

對於具有隱含系結句柄的遠端程式,MIDL 編譯程式會產生類型為 handle_t的全域句柄變數。 具有隱含串行化句柄的程式和型別會使用相同的全域句柄變數。

對於隱含句柄,全域隱含句柄必須在遠端呼叫之前設定為有效的系結句柄。 隱含句柄必須在串行化呼叫之前設定為有效的串行化句柄。 因此,程式不能同時遠端和串行化。 它必須是一個或另一個。