2012-10-04 7 views
2

사용자 API에서 공개 키를 가져 오기 위해 C API를 사용할 수 있다고 생각했습니다. 기능을 찾아 내고 대부분의 기능을 이해한다고 생각합니다. 그러나 나는 원하는 것을 가리키는 주소에서 데이터를 읽는 방법을 알지 못합니다.C API 호출 결과 읽기

Declare Function W32_OSLockObject Lib "nnotes.dll" Alias "OSLockObject" (Byval handle As Long) As Long 
Declare Function W32_OSUnlockObject Lib "nnotes.dll" Alias "OSUnlockObject" (Byval handle As Long) As Long 

Declare Function SECKFMGetUserName Lib "nnotes" (Byval strReturnUserName As String) As Integer 
Declare Function SECKFMGetPublicKey Lib "nnotes.dll" (Byval strUserName As String, Byval intFunction As Integer, Byval intFlags As Integer, handle As Long) As Integer 


lret = SECKFMGetUserName(hUserName) 
lret = SECKFMGetPublicKey(hUserName, 0, 0, hPublicKey) 

aPublicKey = W32_OSLockObject(hPublicKey) 

이제 무엇을 할 수 있습니까? 앉아있는 오리는 내가 주소 [aPublicKey]에 그것을 알아 듣길 기다리고있다. 해당 주소에서 문자열을 가져 오는 여러 가지 방법을 시도했지만 반복해서 실패합니다.

간단해야하지만 따라야 할 단서가 없습니다.

나는 C API에 관해서 abook을 알고 있지만, 알려진 주소에서 문자열을 얻기 위해 책이 필요한가요?

내 C API 영웅이되어 주겠니?

+1

왜 ID 파일에서 공개 키를 가져와야합니까? 공개입니다. Domino 디렉토리에서 가져올 수 있습니다. –

답변

1

"LotusScript에서 C API 프로그래밍 가이드"를 말하는 것으로 가정하고 책을 가지고 있습니다. 나는 그것을 매우 추천한다. 메모리 처리에 관한 좋은 장이 있습니다. 이처럼 LMBCS 문자열을 반환 OSLockObject를 선언

시도 :

Declare Function W32_OSLockObjectStr Lib "nnotes.dll" Alias "OSLockObject" (Byval handle As Long) As LMBCS String 

SECKFMGetPublicKey이 null로 끝나는 문자열을 포함하는 버퍼를 반환하는 경우가 작동합니다. 그렇지 않은 경우 책에서 다루는 다른 기술이 있습니다.

+1

@ user3667889 여기에서 책을 구입할 수 있습니다. http://www.ls2capi.com/ –