Jump to content

MMIOM_STATUS

From EDM2

The MMIOM_STATUS message is used to pass Media Control Interface (`MCI_STATUS`) inquiries directly to a Multimedia I/O (MMIO) procedure. This allows applications or higher-level drivers to query the runtime capabilities and editing state of an open media file or device layer (such as checking if an undo history exists or verifying clipboard data compatibility).

Syntax

rc = mmioSendMessage(hmmio, MMIOM_STATUS, (LONG)pMmioStatusParms, lParam2);

Parameters

pmmioinfo (PMMIOINFO)
A pointer to an MMIOINFO data structure maintaining the current runtime state of the open file channel.
usMsg (USHORT)
The message identifier, set to `MMIOM_STATUS`.
lParam1 (LONG)
A pointer to an MMIO_STATUS_PARMS structure. The caller populates this structure with the requested item flag, and the I/O procedure updates it with the result metrics upon return.
lParam2 (LONG)
This parameter is not used.

Return Value

rc (ULONG)
Return codes indicating success or structural validation failures:
  • MMIO_SUCCESS: The status request was evaluated successfully, and the result was written to the parameter block.
  • MMIO_ERROR: An internal driver or routing error occurred.
  • MMIOERR_MISSING_FLAG: A required structural or operational flag was missing from the command context.
  • MMIOERR_INVALID_ITEM_FLAG: One or more of the status item flags specified in the parameter block are unrecognized or invalid for this particular I/O procedure.

Remarks

  • **Status Feedback Channel**: The resolved state value is written directly into the `ulReturn` field of the MMIO_STATUS_PARMS structure (typically evaluated as a `TRUE` or `FALSE` boolean condition). When applicable, the `ulType` field of the structure is updated to indicate the `MCI_FORMAT` flag used for the returned data payload.
  • **Supported Status Inquiries**: The specific capability being queried is defined by placing standard `MCI_STATUS` identifiers into the `ulItem` field of the MMIO_STATUS_PARMS block. Supported items typically include:
  • MCI_STATUS_CAN_PASTE: Queries whether the current media data format layout on the system clipboard can be integrated cleanly into the open file context via MMIOM_PASTE.
  • MCI_STATUS_CLIPBOARD: Checks the general relationship or active presence of media components inside the clipboard sub-system.
  • MCI_STATUS_CAN_REDO: Verifies if there are active editing transactions pending in the forward history buffer that can be re-executed via MMIOM_REDO.
  • MCI_STATUS_CAN_UNDO: Verifies if there are historical modifications remaining in the reverse transaction stack that can be backed out via MMIOM_UNDO.

Related Functions

Related Messages