Wählregeln und WinAPI/TAPI



  • Hallo zusammen,

    folgendes Problem: Ich möchte gern die Wählregeln, die in den Telefon und Modemeinstellungen in der Systemsteuerung hinterlegt sind, auslesen. Dies möchte ich deshalb tun, weil ich den Eindruck habe, dass die TAPI-Treiber diese Wählregeln nicht benutzen. (zumindest werden die führenden Nullen beim Rauswählen nicht benutzt)

    Von TAPI und dem ganzen Kram habe ich wenig Ahnung. Das Ganze muss auch nicht per WinAPI gemacht werden. Ich dachte nur, hier sind die Chancen höher, einen kompetenten Ansprechpartner zu finden.



  • Bzgl TAPI gibt es einen sehr Kompetenten MVP, der aber in der TAPI-Newsgroup aktiv ist:
    microsoft.public.win32.programmer.tapi
    Siehe auch:
    [url]http://www.i-b-a-m.de/Andreas_Marschall's_TAPI_and_TSPI_FAQ.htm[/url]



  • Danke, ich werde mich dort mal umschauen. Dabei fällt mir ein, wie heisst das eigentlich auf Englisch? Calling rules?



  • Hier der Code, falls nochmal wer diesen Sumpf durchwühlen muss.
    Wer hat sich das eigentlich ausgedacht? Der gehört heute noch erschossen. 😡

    // wir suchen die Wählregeln für die Amtskennziffer
    	LPLINETRANSLATECAPS plineCaps;
    	plineCaps=(LPLINETRANSLATECAPS)malloc(3000); // wir nehmen mal 3000, ist viel zu viel, wir brauchen ja nur die erste Location
    	LPBYTE pTemp=(LPBYTE)plineCaps; // pTemp brauchen wir zum Pointer rechnen, damit nur byteweise geschupst wird
    	plineCaps->dwTotalSize=3000;
    	LPSTR szAmtskennziffer=NULL;
    	long lError=lineGetTranslateCaps(NULL,MAKELONG(0,2),plineCaps); // das holt die Wählregeln
    	if(lError==0)
    	{
    		LPLINELOCATIONENTRY pLocal=(LPLINELOCATIONENTRY)(pTemp+plineCaps->dwLocationListOffset); // wir berechnen den Pointer der ersten LocationEntry
    		szAmtskennziffer=(LPSTR)(pTemp+pLocal->dwLongDistanceAccessCodeOffset); // wir berehcnen den Pointer der Amtskennziffer für Ferngespräche
    	}
    	free(plineCaps);
    

Anmelden zum Antworten