ITAddress Probleme beim zuweisen

MFC openGL

Erfahrenes Mitglied
Hallo,

bin immer noch an der ITAddress Sache, mein bisheriger Stand :

Code:
class tapitester
{
   public :
	static tapitester* exemplar();  //Singleton 
	bool importtel( int , int, int);  //land, areacode, telnumber  //true if sucsessful
	bool testnumber();  //results true if number is callable
	bool getstate();  //returns the tapistate
	~tapitester();
   private :
	   tapitester();
	   bool inittapi();  //make the interface ready  //false in case of error
	bool calltapi();  //calls the number and test it  //true if call was sucsessful
	bool closetapi();  //close the tapi inferface  //false in case of error
	bool startterminal(); //Startet das Media Terminal //false bei einem error

	static tapitester* pexemplar;
	   int landcode, areacode, telnumber;
	bool state; //state = true = all ok  //false = error
	ITTAPI *ptapi;	//ITTAPI Pointervariable zum steuern des Interfaces
	HRESULT hr; //Speichert den Status der Verbindung
	// Declare the interfaces used to select an address.
	IEnumAddress * pIEnumAddress;
	ITAddress * pAddress;
	ITMediaSupport * pMediaSupport;
};
Code:
bool tapitester::inittapi()  //make the interface ready  //false in case of error
{
 hr = CoInitializeEx(NULL, 0);
 //Bereitstellen der Parametern und Rückgabe des ptapi Pointers für das Modem //hr beinhaltet den Status
 hr = CoCreateInstance( CLSID_TAPI, NULL, CLSCTX_INPROC_SERVER, IID_ITTAPI, (LPVOID *)&ptapi );
 if(hr == S_OK)
 {
  if(ptapi->Initialize() == S_OK) //Start des Interfaces // Rückgabe S_OK bei Erfolg
   //inferface successfuly started
   return true;
  else
   return false;
 }
 else
  return false;
}


Code:
bool tapitester::startterminal()
{
  // Use the TAPI object to 
 // enumerate available addresses.
 hr = ptapi->_EnumerateAddresses( &pIEnumAddress );
 if (hr != S_OK) //process the error here. 
  return false;
 // Locate an address that can support the 
 // media type the application needs.
 while ( S_OK == pIEnumAddress->Next(1, &pAddress, NULL) )
 {
	 // Determine the media support.
	 hr = pAddress->QueryInterface(IID_ITMediaSupport, (void **)&pMediaSupport);
  //if(hr != S_OK)
   //break; //ERROR ------------------------------------
  VARIANT_BOOL* pfSupport;
  hr = pMediaSupport->QueryMediaType(0x8, &pfSupport);  //0x8 bedeutet das es ein Telefon ist.  
  // if((hr != S_OK) || (pfSupport == VARIANT_FALSE)) process the error here. 

  if (pfSupport)
   break;
 }
 // pAddress is now a usable address.

 //----------------------------------------------------------------------------
 ITBasicCallControl** ppCall;
 BSTR pDestAddress;
 char * buffer;
 strcpy(buffer, "0205872985");
 pDestAddress = reinterpret_cast<unsigned short*>(buffer);
 hr = pAddress->CreateCall( pDestAddress, 0x00000001, 0x8|0x20, ppCall); //0x00000001 = LINEADDRESSTYPE_PHONENUMBER sagt das es eine Telefonnummer in pDestAddress ist.  //0x8 |0x20 bedeutet das es ein Telefon oder Fax ist.
 
 
 if(hr == S_OK)
  return true;
 else
  return false;
}


Mein Problem ist nun, ich kann in der Methode startterminal() nicht
" hr = pMediaSupport->QueryMediaType(0x8, &pfSupport); //0x8 bedeutet das es ein " sagen, das 0x8 nimmt er nicht an. Ich würde ja gerne "TAPIMEDIATYPE_AUDIO" statt der 0x8 schreiben, nur nimmt er bei mir die "#include <ipmsp.h>" nicht an.

Des weiteren habe ich ein Problem mit der "CreateCall()" Methode, welche ich über pAddress aufrufen will, er sagt mir immer das ich einen Parameter zuviel angebe, jedoch ist das genauso wie in der MSDN beschrieben.

Sinn des Programms soll es werden das ich ein Telefonnummer anrufen kann und somit die Gültigkeit der Verbindung testen kann, sollte das anders schneller möglich sein, bitte ebenfalls Antworten ;)

Danke schonmal an diejenigen die mit antworten.

Gruss

MFC OpenGL
 
"nur nimmt er bei mir die "#include <ipmsp.h>" nicht an. "

Bedeutet, ich habe diese Datei garnicht auf meinem Rechner, wieso habt ihr die auf dem Rechner, ich jedoch mit meinem MSVC++ 6 nicht ?

Habt ihr ein SDK runtergeladen welche die Datei beinhaltet, oder wo gibts die ?

Danke schonmal, und entschuldige bitte meine "schwammige Ausdrucksweise" im letzten Post.

Gruss

MFC OpenGL
 
Zurück