Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ссылка на struct в определении функции 
:(
    Опции темы
Xao
Дата 24.12.2007, 21:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 77
Регистрация: 24.12.2007

Репутация: 1
Всего: 1



Есть код на С++
Код

...
...
struct FILELISTENTRY {
    DWORD dwFileExists; // Nonzero if this entry is used
    LCID lcLocale; // Locale ID of file
    DWORD dwCompressedSize; // Compressed size of file
    DWORD dwFullSize; // Uncompressed size of file
    DWORD dwFlags; // Flags for file
    char szFileName[260];
};
...
...
BOOL      SFMPQAPI WINAPI SFileListFiles(MPQHANDLE hMPQ, LPCSTR lpFileLists, FILELISTENTRY *lpListBuffer, DWORD dwFlags);
...
...


Тут в параметр функции SFileListFiles передается ссылка на тип структуру, я подключаю дллку в С#, в которой находится эта функция:
Код

...
        [DllImport("SFmpq.dll", EntryPoint = "SFileListFiles")]
        public static extern bool ListFiles(int hMPQ, string fileLists, ????????, int flags);
...


Подскажите плз, как мне определить в С# функции в 3 параметре ссылку на структуру

PM MAIL   Вверх
mr.DUDA
Дата 24.12.2007, 22:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



Код
ref FILELISTENTRY lpListBuffer


P.S. http://www.pinvoke.net в помощь!


--------------------
user posted image
PM MAIL WWW   Вверх
Xao
Дата 25.12.2007, 00:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 77
Регистрация: 24.12.2007

Репутация: 1
Всего: 1



mr.DUDA, 
а как его добавить в ВС?
правда у меня ВС 2008

Да и еще такой вопрос, а можно ли подсоединить файлы типы .lib (как и dll) к проекту С#???
PM MAIL   Вверх
mr.DUDA
Дата 25.12.2007, 01:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



Цитата(Xao @  24.12.2007,  23:01 Найти цитируемый пост)
а как его добавить в ВС?

Странный вопрос, вообще я имел ввиду:
Код
       [DllImport("SFmpq.dll", EntryPoint = "SFileListFiles")]
        public static extern bool ListFiles(int hMPQ, string fileLists, ref FILELISTENTRY lpListBuffer, int flags);


Цитата(Xao @  24.12.2007,  23:01 Найти цитируемый пост)
Да и еще такой вопрос, а можно ли подсоединить файлы типы .lib (как и dll) к проекту С#???

Только .dll (через [DllImport])
Чтобы добавить .lib/.h, нужен проект C++/CLI.


--------------------
user posted image
PM MAIL WWW   Вверх
Xao
Дата 25.12.2007, 02:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 77
Регистрация: 24.12.2007

Репутация: 1
Всего: 1



mr.DUDA, 
я имел ввиду pinvoke))

жаль что нельзя lib добавлять
PM MAIL   Вверх
mr.DUDA
Дата 25.12.2007, 13:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



Xao, на pinvoke.net лежат примеры вызовов всех существующих функций Win32 API и дополнительных библиотек, с примерами использования. Поэтому "как вставить в VC" звучит немного непонятно: просто копируем пример в свой проект, в любой класс.


--------------------
user posted image
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0494 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.