Мне нужно использовать эту (неуправляемую) библиотеку C ++. Один из методов имеет wchar_t * в качестве параметра. Пробовал использовать его в C #, но все мои попытки привели к коду ошибки «неверный аргумент».
Я написал управляемую оболочку C ++ для нее - та же проблема. Теперь я сравнил значения аргументов из моей оболочки C ++ и нативного примера C ++, поставляемого с библиотекой. Единственное существенное отличие, которое я вижу, состоит в том, что NUL в моем управляемом C ++ - это «0 L» (часы Visual Studio), а NUL в неуправляемом примере - просто «0». Они оба имеют одинаковое значение ... 0.
Может ли это быть проблемой? (Я попытался вручную установить этот символ на «0», но получил те же результаты) Если да, как мне решить эту проблему?
EDIT:
Изображение: http://img6.imageshack.us/img6/5977/comparisonofvalues.png
Хорошо, с левой стороны - мой код (управляемый C ++), с правой стороны - пример (неуправляемый C ++). Как есть, правый работает, левый - нет (функция отклоняет аргументы). Я думаю, что проблема в 17-м персонаже - NUL.
Есть еще мысли?