Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.03.2010, 15:50   #1
Jt1k
 
Регистрация: 13.03.2010
Сообщений: 7
По умолчанию Как подключить tapi32.dll?

Всем доброго времени суток! Я недавно начала программировать на C# ит столкнулась со следующей проблемой: мне необходимо использовать функцию tapiRequestMakeCall, а у меня не подключается библиотека. Поогите пожалуйста. Заранее большое спасибо=)
Jt1k вне форума Ответить с цитированием
Старый 20.03.2010, 16:34   #2
TaTT DoGG
Форумчанин
 
Аватар для TaTT DoGG
 
Регистрация: 25.04.2008
Сообщений: 476
По умолчанию

как-то так
Код:
public class Tapi
	{

	[StructLayout(LayoutKind.Sequential)]
	public struct LineInitializeExParams
	{
		public uint dwTotalSize;
		public uint dwNeededSize;
		public uint dwUsedSize;
		public uint dwOptions;
		public System.IntPtr hEvent;
		public System.IntPtr hCompletionPort;
		public uint dwCompletionKey;
	}

		private System.IntPtr _hTapi;
		private LineCallBackFunc _hCallBackFunc;

		public delegate void LineCallBackFunc(uint hDevice, uint dwMsg, uint dwCallbackInstance,
			uint dwParam1, uint dwParam2, uint dwParam3);

		[DllImport("Tapi32.dll", EntryPoint="lineInitializeExW", CharSet=CharSet.Auto, SetLastError=true)]
		internal static extern LineErrReturn lineInitializeEx(
			out IntPtr hLineApp, 
			IntPtr hAppHandle, 
			LineCallBackFunc lCallBack,
			string FriendlyAppName, 
			out uint NumDevices, 
			ref uint APIVersion,
			ref LineInitializeExParams lineExInitParams);

		public TapiApi.LineCallBackFunc CallBackFunc
		{
			get
			{
				return _hCallBackFunc;
			}
		}
		public Tapi()
		{
			InitialiseTapi();
		}
		
		public void LineEventHandler(uint dwDevice, uint dwMsg, uint dwCallbackInstance,
			uint dwParam1, uint dwParam2, uint dwParam3)
		{
				
			// Code that never ever gets reached from the service, but does from the form
		}

		private void InitialiseTapi()
		{
			LineErrReturn ret;
			uint apiVers = TapiConstants.ApiHighVers;

			LineInitializeExParams tapiParams = new LineInitializeExParams();
			tapiParams.dwTotalSize = (uint) Marshal.SizeOf(tapiParams);
			tapiParams.dwNeededSize = tapiParams.dwTotalSize;
			tapiParams.dwUsedSize = tapiParams.dwUsedSize;
			tapiParams.dwOptions = (uint)LineInitializeExOptions.UseHiddenWindow;
			tapiParams.hEvent = System.IntPtr.Zero;
			tapiParams.hEvent = System.IntPtr.Zero;
			tapiParams.hCompletionPort = System.IntPtr.Zero;
			_hCallBackFunc = new TapiApi.LineCallBackFunc(LineEventHandler);
			ret = lineInitializeEx(out _hTapi, System.IntPtr.Zero, _hCallBackFunc, "BMSTAPI", out _lineCnt, ref apiVers, ref tapiParams);
		}
	}
Life if about choices
Make the right choice
TaTT DoGG вне форума Ответить с цитированием
Старый 20.03.2010, 17:07   #3
Jt1k
 
Регистрация: 13.03.2010
Сообщений: 7
По умолчанию

Что-то я не совсем понимаю, я саму dll кидаю к exe, что с этим кодом делать? Если подключить этот класс, то он мне ругается и кричит, что не видит кучу типов и т д. Пишет что мол вы забыли указать reference, да я и сама понимаю, что надо как-то добавить tapi reference, но добавить ее как обычно добавляю reference я не могу, вернее он не может. Так что делать?
Jt1k вне форума Ответить с цитированием
Старый 20.03.2010, 17:35   #4
TaTT DoGG
Форумчанин
 
Аватар для TaTT DoGG
 
Регистрация: 25.04.2008
Сообщений: 476
По умолчанию

добавляй эту библиотеку в References

а потом
Код:
using TAPI3Lib;
и понеслась ))
Код:
TAPIClass tapi = new TAPIClass();
tapi.Initialize();
...
Вложения
Тип файла: rar Interop.TAPI3Lib.rar (24.3 Кб, 19 просмотров)
Life if about choices
Make the right choice

Последний раз редактировалось TaTT DoGG; 20.03.2010 в 17:37.
TaTT DoGG вне форума Ответить с цитированием
Старый 21.03.2010, 02:23   #5
Jt1k
 
Регистрация: 13.03.2010
Сообщений: 7
По умолчанию

Спасибо за ответы! Проблема была решена путем использования другой функции. Спасибо!
Jt1k вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Visual C++ Как подключить dll? PMike Visual C++ 7 30.06.2020 07:25
Как подключить сервер Yooho Операционные системы общие вопросы 1 03.02.2010 16:52
builder. Как показать вторую форму? Как подключить другой юнит? TwiX C++ Builder 2 21.12.2009 21:29
Как подключить модули php_mysql.dll, php_mssql.dl? zvezda_t PHP 2 16.12.2009 23:45
Как подключить функцию Mikimaus Общие вопросы C/C++ 5 17.11.2009 12:30