Jump to content

MMProgRef - SHC Messages

From EDM2

Reprint Courtesy of International Business Machines Corporation, © International Business Machines Corporation

Multimedia Programming Reference
  1. Introduction
  2. What's New...
  3. MCI Functions
  4. High-Level Macro Service Functions
  5. Subsystem Messages
  6. Notification Messages
  7. MCI Command Messages
  8. String Commands
  9. Memory Playlist Commands
  10. Graphic Button Control
  11. Secondary Window Functions
  12. MMIO Functions
  13. MMIO Messages
  14. CODEC Messages
  15. DIVE Functions
  16. Real-Time MIDI Functions
  17. SPI Functions
  18. Data Stream State Table
  19. SMH Messages
  20. DDCMD Messages
  21. VSD Commands
  22. SHD Messages
  23. SHC Messages
  24. Data Types
  25. Types of MIDI Messages
  26. Multimedia Specification Overview
  27. Resource Interchange File Format
  28. Multimedia File Formats
  29. RIFF Compound Files and Elements - Sharing and Access
  30. Return Codes
  31. Notices
  32. Glossary

Stream handler command messages are provided by each stream handler in the Sync/Stream subsystem. Stream handlers can be DLLs or device drivers. All SHC messages are synchronous and must be provided by both DLL stream handlers (as a DLL call) and by device driver stream handlers as an inter-device driver communication (IDC) call. SHC messages are issued only from the Sync/Stream Manager and are not used directly by an application media control device.

The stream handler commands are provided through a single entry point, SHCEntryPoint, which accepts a parameter structure as input. This permits the DLL and the device driver interfaces to the Sync/Stream Manager to be the same. The entry point for DLL stream handlers is registered with the Sync/Stream Manager DLL during the stream handler DLL initialization routine called by the loader. The entry point for the device driver stream handlers is registered with the Sync/Stream Manager device driver during device driver initialization. For the DLL interface, all pointers are 0:32 linear. For the device driver interface, pointers are 16:16 or 0:32 physical or global linear. This enables the current 16-bit device driver model to be used for stream handlers.

The following table lists the message numbers for all stream handler commands (SHCs) that must be supported by all stream handlers. These are used in the ulFunction field, of the parameter structure passed with the call, to indicate which message is being requested by the Sync/Stream Manager.

Message Number Message Description
0L SHC_ASSOCIATE Associates a data object with a stream handler.
1L SHC_CLOSE Closes a stream handler.
2L SHC_CREATE Creates a stream instance for a stream handler.
3L SHC_DESTROY Removes a stream instance for a stream handler.
8L SHC_DISABLE_EVENT Disables event notification for a particular event.
10L SHC_DISABLE_SYNC Disables synchronization for a stream handler in a sync group.
7L SHC_ENABLE_EVENT Enables event notification for a particular event.
9L SHC_ENABLE_SYNC Enables synchronization for a stream handler in a sync group.
14L SHC_ENUMERATE_PROTOCOLS Returns a list of stream protocol keys for the specified stream handler.
12L SHC_GET_PROTOCOL Queries a stream handler for a specified stream protocol.
11L SHC_GET_TIME Queries the current stream time.
13L SHC_INSTALL_PROTOCOL Installs or removes a specified stream protocol for a stream handler.
15L SHC_NEGOTIATE_RESULT Provides the results of a SPCB negotiation for a stream instance.
6L SHC_SEEK Seeks to a specified point in the stream object or sets the current stream time.
16L SHC_SENDMSG Sends specific message to stream handler.
4L SHC_START Starts data streaming for a stream handler of a particular stream instance.
5L SHC_STOP Stops data streaming for a stream handler of a particular stream instance.