MMIOM_COPY
Appearance
The MMIOM_COPY message is sent to a Multimedia I/O (MMIO) procedure to request that a specified range of data be extracted from the file and transferred to the system clipboard. This operation is non-destructive; the original data inside the file remains completely intact.
Syntax
rc = mmioSendMessage(hmmio, MMIOM_COPY, (LONG)pEditParms, lParam2);
Parameters
- pmmioinfo (PMMIOINFO)
- A pointer to an MMIOINFO data structure maintaining the current state of the open file.
- usMsg (USHORT)
- The message identifier, set to `MMIOM_COPY`.
- lParam1 (LONG)
- A pointer to an MMIO_EDIT_PARMS structure that specifies the exact range of data to be copied.
- lParam2 (LONG)
- This parameter is not used.
Return Value
- rc (ULONG)
- Return codes indicating success or failure:
- MMIO_SUCCESS: The specified media data range was successfully copied to the clipboard.
- MMIO_ERROR: An error occurred, and the clipboard state remains unchanged.
Remarks
- **Target Range**: The section of the file to copy is designated by the `ulStartTime` and `ulDuration` fields inside the MMIO_EDIT_PARMS structure.
- **Duration Rule**: The `ulDuration` field must be non-zero. Attempting to execute a copy request with a duration of zero results in an error.
- **Clipboard Interaction**: If the system clipboard already contains media data, the new data replaces it entirely.
- **Media Pointer Stability**: Unlike editing actions that split or alter data layout (such as cut or paste), a copy operation has no side effects on file positioning. The internal file or media position pointer is left entirely unchanged by this operation.