public static extern Int32 lineNegotiateAPIVersion( // TAPI ait handle. IntPtr hLineApp, // Hat tanıtıcı nosu UInt32 dwDeviceID, // Eski veya ilk TAPI versiyonu UInt32 dwAPILowVersion, // Son TAPI versiyonu UInt32 dwAPIHighVersion, // Anlaşmaya varılan veya uygun TAPI versiyonu. ref UInt32 lpdwAPIVersion, //LINEEXTENSIONID yapısı LINEEXTENSIONID lpExtensionID);
}//TAPIShutDown #endregion #region Private Methods //*************************** // Private Metodlar * //*************************** // InitializeTAPILines metodu hatların uygun TAPI versiyonu bulup, // hat bilgilerini ve diğer özelliklerini doldurur. private Int32 InitializeTAPILines() { // Kararlaştırılacak TAPI versiyonu değişkeni. UInt32 TAPINegVer = 0x0; // LINEEXTENSIONID yapı nesnesi tanımlıyoruz. LINEEXTENSIONID lineExtensionID = new LINEEXTENSIONID(); for (int i = 0; i < this.m_iNumLines; i++) { // Her bir hat için TAPI versiyonu konusunda anlaşma. Int32 iRetVal = lineNegotiateAPIVersion(this.m_hLineApp, (uint)i, TAPILowVer, TAPIHighVer, ref TAPINegVer, lineExtensionID); // Fonksiyondan dönen değer başarılı mı? if (iRetVal == TAPI_SUCCESS) { // Hat bilgisini ve diğer özelliklerini doldur. if (!GetLineDeviceCaps((uint)i, TAPINegVer)) { // GetLineDeviceCaps çağrısı başarısız. //MessageBox.Show(i.ToString() + " nolu hat:\n" + // "LINEDEVCAPS yapısı geçerli bir hat adına ve değerlerine sahip değil."); }//if } else { //MessageBox.Show(i.ToString() + " nolu hat:\n" + // "lineNegotiateAPIVersion fonksiyonu çağrısı başarısız.\n" + "Hat mevcut değil veya bulunamadı."); } //if iRetVal } //for return(TAPI_SUCCESS); }
private static extern int lineNegotiateAPIVersion(IntPtr lphLineApp, int dwDeviceID, int dwAPILowVersion, int dwAPIHighVersion, out int lpdwAPIVersion, out LINEEXTENSIONID lpExtensionID);