MAPI-MIME 변환을 위한 IDL 생성
문제
IConverterSession 인터페이스에 대한 IDL을 생성하려고 하는데 MIMETOMAPI 방법.이는 다음을 지정합니다. LPMESSAGE pmsg
매개변수는 [out]이지만 주석에는 로드할 MAPI 메시지에 대한 포인터가 명시되어 있습니다.
함수가 MAPI 메시지 개체를 할당하고 포인터를 설정하는지 여부가 확실하지 않습니다. 이 경우 MESSAGE 포인터에 대한 포인터가 아니어야 합니까?또는 호출 코드가 이미 메시지 객체를 인스턴스화했을 것으로 예상되는데, 이 경우 [in]이 아닌 [out]으로 표시되는 이유는 무엇입니까?
궁극적으로 이 인터페이스는 VB6 코드에서 사용되므로 [in] 또는 [in, out]이어야 하지만 내가 사용한 IDL에 있는지 알아야 합니다.
[in] IMessage pmsg*
또는
[in, out] IMessage pmsg**
해결책
이 경우 문서에서 매개변수를 [out]으로 표시하면 오해의 소지가 있다고 생각합니다.유효한 LPMESSAGE를 메소드에 전달해야 하기 때문에 이중 포인터가 아닙니다.그래서 나는 당신의 idl 정의에 [in]을 사용하겠습니다.
다른 팁
최종 소스로 MFCMapi 소스(http://mfcmapi.codeplex.com/)의 MAPIMime.h를 참조하세요.
제휴하지 않습니다 StackOverflow