2009-06-18 10 views
0

Ich habe einen Code geerbt, der die MSTAPI-Schnittstelle implementiert und mit ihr kommuniziert. Ich bin neugierig, wo die Anfrage-IDs initialisiert werden (oder wenn sie sind). Unter Anfrage-ID verstehe ich zum Beispiel den Parameter idRequest zu LINE_REPLY Message.Wo werden die MSTAPI-Anforderungs-IDs initialisiert?

Der Grund, warum ich neugierig bin, ist, dass, wenn ich den TSP und die Client-Anzeige Request-IDs haben, habe ich die folgenden als typische Folge sehen und beide Seiten einigen sich auf die Zahlen:

66304 
66303 
66286 
66269 
66252 
66235 
... 

Der erste Wert übersetzt in 0x00010300 (was bedeutet mir nichts, aber ist eine runde Zahl), und dann die Anfrage IDs Abnahme von dort. (Es sei denn, die Anforderungs-ID wird intern als vorzeichenbehaftete 2-Byte-Ganzzahl behandelt, was vermutlich möglich ist.)

Ich vermute, dass die eine Seite oder die andere Seite etwas initialisieren soll und nicht ist oder ist es zu etwas unpassendem initialisieren.

Weiß jemand, wie die Anfrage-ID funktionieren soll? Ist es eine undurchsichtige Nummer, die intern von MSTAPI generiert und sowohl dem TSP als auch dem Client zur Verfügung gestellt wird? Kann jemand auf Referenzen verweisen, die das erklären?

Danke.

Antwort

1

Anforderungs-IDs werden intern von TAPI für alle asynchronen Vorgänge generiert. Wenn Ihr Programm asynchrone TAPI-Funktion wie lineMakeCall aufruft, gibt TAPI eine Anforderungs-ID für diese Operation zurück. Dieselbe Anforderungs-ID wird dem TSP in TSPI_lineMakeCall bereitgestellt. Wenn TSP den MakeCall-Vorgang abschließt, ruft TSP CompletionProc-Callback mit dieser Anforderungs-ID auf und teilt TAPI mit, dass diese Operation beendet ist. Danach sendet TAPI die Nachricht LINE_REPLY mit derselben Anforderungs-ID an Ihre Anwendung, damit Sie wissen, dass Ihre lineMakeCall-Operation abgeschlossen wurde.

Verwandte Themen