Rambler's Top100
Главная
Новости
Статьи
Форумы
Книги
Коды
Сообщество
Блоги
О нас
 

Логин

Email:
  Пароль:

Войти
Зарегистрироваться
Забыл пароль

Поиск

 Искать :
 
Вперед

Сообщение

W@ndERR ®


Редактор

Зарегистрирован:
29 September 2002
Сообщения: 432
Примеры кода: 3
 

RE: MarshalObject? PInvoke?

05 October 2004 13:02  


Ну неплохо было бы увидеть эту ошибку, но да фиг с нейУлыбка К тому же не нашел я этого аудио апи в мсдн...но по твоим описаниям я бы предложил все сделать следующим образом:

// Где-то в самом начале до начала namespace'а
using DWORD = System.UInt32;
...
[StructLayout(LayoutKind.Sequential, CharSet=CharSet.Auto)]
public class AUDIO_INFO
{
	[MarshalAs(UnmanagedType.U4)]
	public int dwDuration;
	[MarshalAs(UnmanagedType.U4)]
	public int dwFrequency;
	// MAX_PATH если не ошибаюсь равно 260,
	//  но лучше завести у себя соответствующую константу
	[MarshalAs(UnmanagedType.ByValTStr, SizeConst=260)]
	public char[] szSound = new char[260];
}

[DllImport("AudioAPI32.DLL", CallingConvention=CallingConvention.Winapi, CharSet=CharSet.Ansi)]
public static extern DWORD AUDIO_PlayBeeperA(
	[In, MarshalAs(UnmanagedType.LPStruct)] AUDIO_INFO lpAudioInfo);

[DllImport("AudioAPI32.DLL", CallingConvention=CallingConvention.Winapi, CharSet=CharSet.Unicode)]
public static extern DWORD AUDIO_PlayBeeperW(
	[In, MarshalAs(UnmanagedType.LPStruct)] AUDIO_INFO lpAudioInfo);


Возможно я с именами функций напутал, но вроде общепринятое именование для Ansi и Unicode такое, если что подправишь.
Больше ничего и не нужно - все должно работатьУлыбка
Кошка Мёбиуса - кошка, которая гуляет сама по себе...
Наверх
  



Winforms

 MarshalObject?   PInvoke?aikieugen  05 October 2004 12:22
 RE: MarshalObject?   PInvoke?W@ndERR ®  05 October 2004 13:02
 RE[2]: MarshalObject?   PInvoke?aikieugen  05 October 2004 14:00
 RE[3]: MarshalObject?   PInvoke?aikieugen  05 October 2004 15:01
 RE[4]: MarshalObject?   PInvoke?W@ndERR ®  05 October 2004 15:19
 RE[5]: MarshalObject?   PInvoke?aikieugen  05 October 2004 18:18
 RE[6]: MarshalObject?   PInvoke?W@ndERR ®  05 October 2004 18:24
 
Наш Киев

Apartments for Rent

Rambler's Top100
Рейтинг@Mail.ru
Идея: Dimon aka Manowar Программирование: Dimon aka Manowar Дизайн: Dan Lebedev
Хостинг от компании Parking.ru
Карта сайта