2010-12-29 14 views
0

私はATLの世界ではかなり新しいです。COM/ATLのポインタへのポインタ

どのようにポインタをATLに宣言できますか?実際には、私は住所を機能させるために渡したいハンドルを持っています。

STDMETHODIMP Function(HANDLE* hHC) //HANDLE declared as void * so actual type is void ** 

OR

STDMETHODIMP Function(LONG **hHC) 

とVBクライアントからこの機能にアクセスしたいの下に示されているように。

+0

"VBクライアント"はどのバージョンのVisual Basicですか?これは古典的なVBとVB.NETの間ではかなり異なっています –

+0

私はVS 2008ではなくVS 6.0を使用しています。 – Imran

+0

.idlファイルに宣言を掲載します。 –

答えて

0

HANDLEとして表されるWinAPIタイプへのポインタを取る場合、これはポインタになります.HANDLE *を使用します。 longへのポインタへのポインタを取る場合は、LONG **を使用します。これらのタイプを混在させたり、同じ目的で使用する理由はありません。なぜなら、それらがリモートで同じであるか、または使用中に交換可能ではないからです。

+0

ありがとう私はあなたが言及したのと同じことをしました。今私はどのようにVBクライアントからこの関数にアクセスできます。 – Imran

+0

@Imran:私はどのように地球を知るべきですか?あなたはC++の質問をしました。 – Puppy

+0

私の間違い、C++タグの追加を忘れました。 – Imran