// LINEDEVCAPS yapısından ve byte dizisi parametrelerin kullanarak, // bir hattın alanlarını dolduracağız. public bool PutLineProperties(TAPIClass.LINEDEVCAPS lineDevCaps, Byte[] buffer) { Decoder dec = null; // Decoder nesnesi try { // Taşıyıcı biçimi değerini ata. this.m_lineBearerModes = (Enums.LineBearerMode)lineDevCaps.dwBearerModes; // Hat özellikleri değerini ata. this.m_lineFeatures = (Enums.LineFeature)lineDevCaps.dwLineFeatures; // Çağrı ortamı değerini ata. this.m_lineMediaTypes = (Enums.LineMediaMode)lineDevCaps.dwMediaModes; // LINEDEVCAPS yapısındaki dwStringFormat parametresi hattın // kullandığı string formatını verir. this.m_StringFormat = (Enums.StringFormat)lineDevCaps.dwStringFormat; // GetDecoder metoduyla Decoder tipinden bir nesne atanıyor. dec = TAPIClass.GetDecoder(this.m_StringFormat); // Decoder nesnesi null değerse? if (dec != null) { // GetStringFromByteArray tanımlı metodumuzu çağırarak // hat adını değişkene ata. this.m_sLineName = StrUtils.GetStringFromByteArray(buffer, (int)lineDevCaps.dwLineNameOffset, (int)lineDevCaps.dwLineNameSize, dec); // GetStringFromByteArray tanımlı metodumuzu çağırarak // hizmet sağlayıcısı adını değişkene ata. this.m_sProviderInfo = StrUtils.GetStringFromByteArray(buffer, (int)lineDevCaps.dwProviderInfoOffset, (int)lineDevCaps.dwProviderInfoSize, dec); // Hat sesli aramayı destekliyor mu? if (CanSupportVoiceCall()) { this.m_bSupportVoiceCall = true; } }//if return(true); } catch (Exception ex) { //MessageBox.Show(ex.Message); return(false); } }//PutLineProperties
public static extern Int32 lineOpen( // TAPI ait handle. IntPtr hLineApp, // Açılacak hattın tanıtıcı nosu. UInt32 dwDeviceID, // Açılan hatta ait handle ref IntPtr hLine, // TAPI versiyonu UInt32 dwAPIVersion, // dwExtVersion: Özel kullanım. Sıfır değeri verilebilir. UInt32 dwExtVersion, // Geri çağrılır fonksiyon nesnesi (TAPI tarafından yorumlanmaz) LineCallback dwCallbackInstance, // Uygulamanın çağrıyla ilgili ayrıcalıklarının parametresi Enums.LineCallPrivilege dwPrivileges, // Çağrı ortamıyla ilgili parametre. Enums.LineMediaMode dwMediaModes, // LINECALLPARAMS yapısı LINECALLPARAMS lpCallParams);
// LINEDEVCAPS yapısından ve byte dizisi parametrelerin kullanarak, // bir hattın alanlarını dolduracağız. public bool PutLineProperties(TAPIClass.LINEDEVCAPS lineDevCaps, Byte[] buffer) { Decoder dec = null; // Decoder nesnesi try { // Taşıyıcı biçimi değerini ata. this.m_lineBearerModes = (Enums.LineBearerMode)lineDevCaps.dwBearerModes; // Hat özellikleri değerini ata. this.m_lineFeatures = (Enums.LineFeature)lineDevCaps.dwLineFeatures; // Çağrı ortamı değerini ata. this.m_lineMediaTypes = (Enums.LineMediaMode)lineDevCaps.dwMediaModes; // LINEDEVCAPS yapısındaki dwStringFormat parametresi hattın // kullandığı string formatını verir. this.m_StringFormat = (Enums.StringFormat)lineDevCaps.dwStringFormat; // GetDecoder metoduyla Decoder tipinden bir nesne atanıyor. dec = TAPIClass.GetDecoder(this.m_StringFormat); // Decoder nesnesi null değerse? if (dec != null) { // GetStringFromByteArray tanımlı metodumuzu çağırarak // hat adını değişkene ata. this.m_sLineName = StrUtils.GetStringFromByteArray(buffer, (int)lineDevCaps.dwLineNameOffset, (int)lineDevCaps.dwLineNameSize, dec); // GetStringFromByteArray tanımlı metodumuzu çağırarak // hizmet sağlayıcısı adını değişkene ata. this.m_sProviderInfo = StrUtils.GetStringFromByteArray(buffer, (int)lineDevCaps.dwProviderInfoOffset, (int)lineDevCaps.dwProviderInfoSize, dec); // Hat sesli aramayı destekliyor mu? if (CanSupportVoiceCall()) this.m_bSupportVoiceCall = true; }//if return true; } catch (Exception ex) { MessageBox.Show(ex.Message); return false; } }