put

The put command defines the area of the source image and destination window used for display. Digital-video and video-overlay devices recognize this command.

To send this command, call the mciSendString function with the lpszCommand parameter set as follows.

_stprintf_s(
  lpszCommand, 
  TEXT("put %s %s %s"), 
  lpszDeviceID, 
  lpszRegions, 
  lpszFlags
); 

Parameters

lpszDeviceID

Identifier of an MCI device. This identifier or alias is assigned when the device is opened.

lpszRegions

Flag for defining the area. The following table lists device types that recognize the put command and the flags used by each type.

Value Meaning Meaning
digitalvideo destination
destination at rectangle
frame
frame at rectangle
source
source at rectangle
video
video at rectangle
window
window at rectangle
window client
window client at rectangle
overlay destination
destination at rectangle
frame
frame at rectangle
source
source at rectangle
video
video at rectangle

The following table lists the flags that can be specified in the lpszRegions parameter and their meanings.

Value Meaning
destination Selects the entire client area of the destination window to display the data.
destination at rectangle Selects a portion of the client area of the destination window used to display the image. When an area of the display window is specified and the device supports stretching, the source image is stretched to the destination offset and extent.
frame Selects the entire frame buffer to receive the incoming video images.
frame at rectangle Selects a portion of the frame buffer to receive the incoming video images.
source Selects the entire image for display in the destination window.
source at rectangle Selects a portion of the image to display in the destination window. When an area of the source image is specified, and the device supports stretching, the source image is stretched to the destination offset and extent.
video Selects the entire incoming video image to capture in the frame buffer.
video at rectangle Selects a portion of the incoming video image to capture in the frame buffer.
window Restores the initial window size on the display. This command also displays the window.
window at rectangle Changes the size and location of the display window. The specified rectangle is relative to the parent window of the display window (usually the desktop) if the "style child" flag has been used for the open command. To change the location of the window without changing its height or width, specify zero for the height and width.
window client Restores the client area of the window.
window client at rectangle Changes the size and location of the client area of the window. The specified rectangle is relative to the parent window of the client window. To change the location of the window without changing its height or width, specify zero for the height and width.

When a flag includes a rectangle, the rectangle coordinates are relative to the window origin or the image origin, as appropriate, and are specified as X1 Y1 X2 Y2. The coordinates X1 Y1 specify the upper left corner, and the coordinates X2 Y2 specify the width and height of the rectangle.

lpszFlags

Can be "wait", "notify", or both. For digital-video devices, "test" can also be specified. For more information about these flags, see The Wait, Notify, and Test Flags.

Return Values

Returns zero if successful or an error otherwise.

Remarks

The put command defines one or more of the following rectangles when working with video-overlay devices:

  • The video rectangle defines the region of the incoming video image to capture.
  • The frame rectangle defines the region of the frame buffer that receives the incoming video image.
  • The source rectangle defines which region of the frame buffer is copied to the destination rectangle.
  • The destination rectangle defines the region of the display window client area that receives the video image.

The video rectangle is related to the frame rectangle in the same way the source rectangle is related to the destination rectangle. Stretching can occur from the video rectangle to the frame rectangle and from the source rectangle to the destination rectangle. Not all devices support stretching, and stretching must be enabled (by using the set command).

The following command defines three regions for the video, frame, and source:

put vboard video 120 120 200 200 frame 0 0 200 200 source 0 0 200 200

The regions in this example are defined as follows:

  • A 200- by 200-pixel region of the incoming video data, starting at an origin 120 pixels from the upper left corner, will be captured to the frame buffer.
  • The video data will be placed in a 200- by 200-pixel region at the upper left corner of the frame buffer.
  • Transfers are made from the 200- by 200-pixel region at the upper left corner of the frame buffer to the destination window.

Requirements

**  Windows NT/2000/XP:** Included in Windows NT 3.1 and later.
**  Windows 95/98/Me:** Included in Windows 95 and later.

See Also

MCI, MCI Command Strings, open, set