Platform SDK: TAPI

Features Supported

  1. Implements an MSP that handles a single address per instance of the MSP. Multiple like addresses are handled by instantiating the MSP multiple times. This greatly simplifies the implementation of the MSP and the base classes.
  2. Implements all the MSPI interfaces, including ITMSPAddress, ITTerminalSupport, ITStreamControl, and ITStream.
  3. Implements ready-to-use static terminals for both audio and video.
  4. Implements generic terminal base classes. These terminal base classes are used by both the above-mentioned static terminal implementations and the implementations of dynamic terminals that are found in Termmgr.dll. The MSP can also use them to implement additional terminals.
  5. Uses the Terminal Manager to handle dynamic terminals. Creates dynamic terminals on a worker thread with a message pump (to free console applications from having to process window messages for video render terminals and to simplify synchronization issues).
  6. Supports calls that use a filter graph per stream.
  7. Implements handling of graph events.
  8. Uses the thread pooling APIs, in conjunction with a worker thread of its own, to handle events.
  9. Uses the tracing APIs of Windows 2000 (originally developed for the Routing project) along with additional logic to provide a flexible, generic logging mechanism that can simultaneously log to any combination of the following: a user or kernel-mode debugger; a separate console window with log messages separated by component; a log file.
  10. Runs free-threaded.