4

Unicode 文字列 (LPCWSTR タイプ) を受け取る関数を使用して C++ dll を実行しました。

extern "C" __declspec( dllexport ) HRESULT signFile(LPCWSTR fileName, LPCWSTR certSubject, LPCWSTR storeName);

HRESULT signFile(LPCWSTR fileName, LPCWSTR certSubject, LPCWSTR storeName)

私の同僚は、JNAを介してこれを呼び出そうとしています

String をパラメーターとして使用できませんでした (C++ 関数が呼び出されますが、パラメーターは無効です)

WString の使用も失敗しました。

残念ながら、JNA マッピングは LPCWSTR タイプを参照しません。

これについて何か考えはありますか?

4

1 に答える 1

4

LPCWSTRとに相当する JNILPWSTRは ですWString

Java Strings はchar*orLPSTRまたはLPCSTRにマップされますが、UTF-8 でエンコードされると思われるため、完全な文字セットを渡すことができます。

于 2012-04-26T09:07:02.557 に答える