문제

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를 참조하세요.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top