DLL 関数に渡している文字列、または DLL 関数から戻される文字列は、デフォルトでは Unicode Strings として処理されます。 DLL 関数に ANSI String 引数が必要な場合は、DllFunctionOptions 属性の CharacterSet プロパティーを使用します。
@Dll( "user32.dll" )
public interface IUserDll32Functions {
@FunctionOptions(characterSet=DllCharacterSet.Ansi)
int SendMessageA(TestObject obj, int message, int wParam, Object lParam);
}
DLL 呼び出しから String を OutArgument として戻した場合、String のサイズが 256 文字以下であれば、デフォルトの動作に従います。 戻される String が 256 文字を超えている場合は、作成された String を保持できるだけの長さを持つ、String を使用して InOurArgument を渡します。