나는 C#에서 COM 클래스를 쓰고, 하나의 함수에서 관리 코드를 호출해야합니다는 다음과 같이 관리되지 않는 C++ 코드
public void SignAttached(
byte[] message,
ref byte[] signedMessage,
string userName = "USER"
)
}
내가 코드를 내가 exeption이 C++에서이 함수를 호출하려고 - "랭크 12,536의 SafeArray는이 순위 1.Unknown 오류 0x80131538의 배열을 예상하는 방법에 전달 된"및 초단마다 변화, C++ 코드 :
SAFEARRAY*message = SafeArrayCreateVector(VT_UI1, 0, 1);
SAFEARRAY*signedMessage = SafeArrayCreateVector(VT_UI1, 0, 1);
_bstr_t userName = "USER";
pInstanse ->SignAttached(message,&signedMessage,userName);
및 compilator 래퍼를 만들어 기능 N * .tlh 파일 :
HRESULT SignAttached (
SAFEARRAY * message,
SAFEARRAY * * signedMessage,
_bstr_t userName);
그리고 만약
도움 oleviewer (IDL 언어) 수출 기능 * .TLB 파일로 볼 수는 다음과 같습니다HRESULT SignAttached(
[in] SAFEARRAY(unsigned char) message,
[in, out] SAFEARRAY(unsigned char)* signedMessage,
[in, optional, defaultvalue("USER")] BSTR userName);
은 아무도 도와 드릴까요?
테스트중인 코드와 정확히 일치합니까? 이것은 나를 위해 잘 작동합니다. 우리가 볼 수있는 재 프로젝트를 게시 할 수 있습니까? –
정말 !!!! 제발 - 제게 프로젝트를 보내면 저에게 너무 도움이됩니다 !!! – Alex
여기에 업로드했습니다 : https://dl.dropboxusercontent.com/u/42400504/MyClassLibrary.zip –