質問

MIDLのメソッド宣言には、一定の参照は????

はありません

たとえばます。

[id(1), helpstring("My Method")]
HRESULT MyMethod(
    [in] IID & const rclsid
);

のための

HRESULT MyMethod(
    IID const &rclsid
);
役に立ちましたか?

解決

MIDLが実際に参照パラメータをサポートしていません

、それだけとパラメータ「アウト」「中」をサポートしています。あなたが参照してパスをDOのであれば、それは値(問題が観測されるへのポインタのためだけの構文糖です - あなたが私たちのメソッドシグネチャにコールバック関数やインタフェースを持っている場合は、参照への変更は、コールバックから観察可能だろうが、 [OUT]パラメータの関数が戻るまでは表示されません。

の変化

はまた、 "&CONST" と "のconst&" の違いは失われます。あなたがREFGUIDの定義を見れば、あなたは彼らが唯一のC ++コードは、「CONST」の一の形態を使用していることがわかります。

#ifdef __midl_proxy
#define __MIDL_CONST
#else
#define __MIDL_CONST const
#endif

#ifndef _REFGUID_DEFINED
#define _REFGUID_DEFINED
#ifdef __cplusplus
#define REFGUID const GUID &
#else
#define REFGUID const GUID * __MIDL_CONST
#endif
#endif
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top