out 屬性
[out] 屬性會識別從呼叫程式傳回至呼叫程式的指標參數, (從伺服器傳回至用戶端) 。
[ [function-attribute-list] ] type-specifier [pointer-declarator] function-name(
[ out [ , parameter-attribute-list ] ] type-specifier [declarator]
, ...
);
-
function-attribute-list
-
指定套用至函式的零個或多個屬性。 有效的函式屬性為 [callback], [local];指標屬性 [ref]、[unique]或 [ptr];和使用屬性 [string]、[ignore]和 [coNtext_handle]。
-
type-specifier
-
pointer-declarator
-
指定零個或多個指標宣告子。 指標宣告子與 C 中使用的指標宣告子相同;它是由 * 指示項、 遠方修飾詞和限定詞 常數所建構。
-
function-name
-
指定遠端程式的名稱。
-
parameter-attribute-list
-
指定零個或多個適用于指定參數類型的屬性。 具有 [out] 屬性的參數屬性也可以採用方向屬性 [out];欄位屬性 [first_is]、[last_is]、[length_is]、[max_is]、[size_is] 和 [switch_type];指標屬性 [ref]、[unique]或 [ptr];和使用量屬性 [coNtext_handle] 和 [string]。 使用屬性 [ignore] 不能當做參數屬性使用。 以逗號分隔多個屬性。
-
宣告子
-
指定標準宣告子,例如識別碼、指標宣告子和陣列宣告子。 如需詳細資訊,請參閱 陣列和Sized-Pointer屬性、 陣列和 陣列和指標。 函式宣告子中的參數宣告子,例如參數名稱是選擇性的。
[out] 屬性工作表示做為指標的參數及其記憶體中相關聯的資料,會從呼叫的程式傳回呼叫程式。
[out] 屬性必須是指標。 DCE IDL 編譯器需要有明確的 * 做為參數宣告中的指標宣告子。 Microsoft IDL 提供可卸載此需求的延伸模組,並允許陣列或先前定義的指標類型。
相關的屬性 [in],表示參數是從呼叫程式傳遞至呼叫的程式。 [in] 和 [out] 屬性會指定參數傳遞的方向。 參數可以定義為 [in]-only、[out]-only 或 [in, out]。
當呼叫遠端程式,且伺服器設定物件的記憶體時,假設 [out]-only 參數為未定義。 因為最上層指標/參數必須一律指向有效的儲存體,因此不能是 Null,所以 [out] 無法套用至最上層 [unique] 或 [ptr] 指標。 [unique] 或 [ptr] 指標的參數必須是 [in] 或 [in, out] 參數。
HRESULT MyFunction([out] short * pcount);