Book only, no CD, public access web site for (2Mbytes) source code.
The book is an excellent match to its main title, it is well written and informative; but the subtitle `A Developers Guide to TAPI' is a little misleading, in that there is little in the book about TAPI directly. What the book presents is a reasonably well designed class library wrapper for TAPI implemented in C++. This library is quite well designed and the book presents it very well and any developer who uses it, following the books excellent advise, will be a long way into producing a good telephony based application far faster than if they struggled with TAPI directly.
The C++ is of a reasonable (Microsoft-esque) style, but there are a couple of bloomers. There are several pre-processor macros, but my 3 `favourite' ones are:
TSUCCEEDED(tr) (tr == 0) TFAILED(tr) (tr<0) TPENDING(tr) (tr>0)which are disguising the wrong things. With an example of use being:
if(TSUCCEDDED(m_line.Open(...))Thus throwing away the return code!
The book lacks some depth, especially in areas where I needed help. It also uses quite a lot of the same terminology as the TAPI documentation, some of which is not obvious and a glossary would have been a good addition.
The chapter on TAPI-3.0 is only little better presented than the MSDN provided information but does not say how the design of the presented classes might change to accommodate TAPI-3.0.
Recommended for TAPI-2.0 today, but needs a lot of work for TAPI-3.0 (Windows 2000).