retval 屬性
[retval]屬性會指定接收成員傳回值的參數。
return-type function-name(
[out, retval [, optional-attributes]] data-type * param-name,
...);
-
return-type
-
遠端程式的傳回值資料類型。
-
function-name
-
用來叫用遠端程式的名稱。
-
optional-attributes
-
零個或多個 MIDL 屬性。
-
資料類型
-
透過 參數傳遞的資料型別。
-
param-name
-
參數的識別碼名稱。
您可以在描述方法或取得屬性的介面成員參數上使用 [retval] 屬性。 (具有 [propget] 屬性之方法的最後一個參數上需要 屬性。) 參數必須具有 [out] 屬性,而且必須是指標類型。
您無法將 [選擇性] 屬性套用至 [retval] 參數。
MIDL 編譯器接受下列參數排序 (從左至右) :
- 必要參數 (沒有 [defaultvalue] 或 [選擇性] 屬性的參數) 。
- 具有或不含 [defaultvalue] 屬性的選擇性參數。
- 具有 [選擇性] 屬性且不含 [defaultvalue] 屬性的參數。
- [lcid] 參數,如果有的話。
- [retval] 參數。
具有 [retval] 屬性的參數不會顯示在使用者導向的瀏覽器中。
IDLFLAG_FRETVAL
HRESULT MyMethod([out, retval] InMyFace** ReturnVal);
HRESULT MyOtherMethod([out, retval] VARIANT_BOOL* ReturnVal);