2010-12-29 3 views
0

Я совершенно новый в мире ATL.Указатель на указатель в COM/ATL

Как я могу объявить указатель на указатель в ATL. На самом деле у меня есть дескриптор, который я хочу передать по адресу для работы. Как показано ниже

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

ИЛИ

STDMETHODIMP Function(LONG **hHC) 

И хотите получить доступ к этой функции от клиента VB.

+0

Какая версия Visual Basic является «клиентом VB»? Это совсем другое отличие между классическим VB и VB.NET. –

+0

Я использую VS 2008, а не VS 6.0. – Imran

+0

Опубликовать объявление в .idl файле. –

ответ

0

Если вы берете указатель на тип WinAPI, представленный как РУЧКА, который является указателем, используйте HANDLE *. Если вы указали указатель на длинный, используйте LONG **. Нет причин смешивать эти типы или использовать их для той же цели, потому что они не являются удаленно одинаковыми или взаимозаменяемыми при использовании.

+0

Спасибо, я сделал то же, что и вы упомянули. Теперь, как я могу получить доступ к этой функции от клиента VB. – Imran

+0

@Imran: Откуда мне знать? Вы задали вопрос C++. – Puppy

+0

Моя ошибка, забыли добавить тег C++. – Imran

Смежные вопросы