This is the interface for the LEAD Screen Capture Filter.
typedef[v1_enum] enum PanToWindowConstants
{
PANTO_WINDOWUNDERCURSOR = -1,
PANTO_ACTIVEWINDOW = -2
} PanToWindowConstants;
typedef[v1_enum] enum WindowSelectStatusConstants
{
WINDOW_SELECT_STATUS_UPDATE = 0,
WINDOW_SELECT_STATUS_SELECTED = 1,
WINDOW_SELECT_STATUS_CANCELED = 2,
} WindowSelectStatusConstants;
typedef[v1_enum] enum CaptureSourceConstants
{
CAPTURE_FULLSCREEN = 0,
CAPTURE_ACTIVEWINDOW = 1,
CAPTURE_ACTIVECLIENT = 2,
CAPTURE_SELECTEDWINDOW = 3
} CaptureSourceConstants;
typedef[v1_enum] enum CursorIconConstants
{
CURSOR_ARROW = 0,
CURSOR_IBEAM = 1,
CURSOR_WAIT = 2,
CURSOR_CROSS = 3,
CURSOR_UPARROW = 4,
CURSOR_SIZENWSE = 5,
CURSOR_SIZENESW = 6,
CURSOR_SIZEWE = 7,
CURSOR_SIZENS = 8,
CURSOR_SIZEALL = 9,
CURSOR_NO = 10,
CURSOR_APPSTARTING = 11,
CURSOR_HELP = 12,
CURSOR_ACTUAL = 13,
CURSOR_CUSTOM = 14
} CursorIconConstants;
typedef[v1_enum] enum WindowCaptureOptionConstants
{
CAPTUREOPTION_VISIBLE_WINDOW = 0,
CAPTUREOPTION_ALL_WINDOW = 1,
} WindowCaptureOptionConstants;
typedef[v1_enum] enum NotifyCallbackConstants
{
NOTIFY_PRERUN_AREACHANGE = 0x0000,
NOTIFY_CLOSE = 0x0001,
NOTIFY_MINIMIZE = 0x0002,
NOTIFY_AREACHANGE = 0x0004,
NOTIFY_CAPWIDTH_EXCEEDED_LIMIT = 0x0008,
NOTIFY_CAPHEIGHT_EXCEEDED_LIMIT = 0x010,
} NotifyCallbackConstants;
typedef[v1_enum] enum SourceCloseConstants
{
CLOSE_STOP_CAPTURING = 0,
CLOSE_CONTINUE_FROM_LAST_POS = 1,
CLOSE_FILL_COLOR = 2
} SourceCloseConstants;
typedef[v1_enum] enum SourceMinimizeConstants
{
MINIMIZE_PAUSE_CAPTURING = 0,
MINIMIZE_STOP_CAPTURING = 1,
MINIMIZE_CONTINUE_FROM_LAST_POS = 2,
MINIMIZE_FILL_COLOR = 3
} SourceMinimizeConstants;
typedef[v1_enum] enum SourceAreaChangeConstants
{
AREACHANGE_CAPTURE_OTHER_WINDOWS = 0,
AREACHANGE_FILL_UNCOVERED_AREA = 1,
} SourceAreaChangeConstants;
typedef[v1_enum] enum EffectShapeConstants
{
EFFECTSHAPE_NON = 0,
EFFECTSHAPE_RINGS = 1,
EFFECTSHAPE_CIRCLE = 2,
EFFECTSHAPE_SUN = 3,
} EffectShapeConstants;
typedef[v1_enum] enum MouseHighlightConstants
{
MOUSEHIGHLIGHT_NON = 0,
MOUSEHIGHLIGHT_SQUARE = 1,
MOUSEHIGHLIGHT_RECTANGLE = 2,
MOUSEHIGHLIGHT_ROUNDEDRECTANGLE = 3,
MOUSEHIGHLIGHT_CIRCLE = 4,
MOUSEHIGHLIGHT_ELLIPSE = 5,
} MouseHighlightConstants;
typedef[v1_enum] enum MouseHighlightModeConstants
{
HIGHLIGHTMODE_TRANSLUCENT = 0,
HIGHLIGHTMODE_OPAQUE = 1,
} MouseHighlightModeConstants;
typedef[v1_enum] enum UserEventsNotifyConstants
{
USEREVENT_LBUTTONDOWN = 0x001,
USEREVENT_LBUTTONUP = 0x002,
USEREVENT_RBUTTONDOWN = 0x004,
USEREVENT_RBUTTONUP = 0x008,
USEREVENT_MOUSEMOVE = 0x010,
USEREVENT_MOUSEWHEEL = 0x020,
USEREVENT_KEYDOWN = 0x040,
USEREVENT_KEYUP = 0x080,
USEREVENT_SYSKEYDOWN = 0x100,
USEREVENT_SYSKEYUP = 0x200
} UserEventsNotifyConstants;
typedef[v1_enum] enum OutlineShapeConstants
{
OUTLINESHAPE_RECTANGLE = 0x00,
OUTLINESHAPE_CORNER = 0x01,
} OutlineShapeConstants;
typedef[v1_enum] enum CaptureAlignmentConstants
{
CAPALIGNMENT_LEFT = 0x001,
CAPALIGNMENT_TOP = 0x002,
CAPALIGNMENT_RIGHT = 0x004,
CAPALIGNMENT_BOTTOM = 0x008,
CAPALIGNMENT_HCENTER = 0x010,
CAPALIGNMENT_VCENTER = 0x020,
} CaptureAlignmentConstants;
Type |
Name |
Description |
CaptureSourceConstants |
CaptureSource |
Sets or gets the capture source type. Possible values are: |
long |
SourceWindowHandle |
Sets or gets the window handle of the capture source. Changing this property will automatically set the CaptureSource property of this interface to CAPTURE_SELECTEDWINDOW. |
float |
CaptureFrameRate |
Sets or gets the capture frame rate in frames per second. The filter will attempt to capture at this rate if possible. Possible values range from 0.1 to 30.0 frames per second. |
VARIANT_BOOL |
ConnectionStatus |
Gets the connection status of the filter output. Possible values are: |
CursorIconConstants |
CursorIcon |
Sets or gets cursor icon. Possible values are: CURSOR_ARROW, If the value is CURSOR_ACTUAL, then the actual cursor icon on the screen will be captured. If the value is CURSOR_CUSTOM, then the custom cursor icon that is set using the CustomCursor property of this interface will be captured. |
long |
CustomCursor |
Sets or gets the custom cursor handle. The custom cursor will be used only if the CursorIcon property of this interface is set to CURSOR_CUSTOM. |
VARIANT_BOOL |
EnableRegion |
Enables or disables using the region coordinates. The region will be limited to the dimensions of the current capture source. |
long |
FillColor |
Sets or gets the fill color used to fill areas of the video under certain conditions. This property accepts/retrieves a COLORREF value. For more information, refer to the OnSourceClose property, OnSourceMinimize property and OnSourceAreaChange property of this interface. |
long |
NotifyCallback |
Determines which events will call the NotifyCallbackProc of the ILMScrCapUserCallback interface. Possible values are: NOTIFY_PRERUN_AREACHANGE: Call NotifyCallbackProc of the ILMScrCapUserCallback interface if the capture source area has changed while the filter is not in the running state. The notification is sent once the filter is run. NOTIFY_CLOSE: Call NotifyCallbackProc of the ILMScrCapUserCallback interface when the capture source is closed. NOTIFY_MINIMIZE: Call NotifyCallbackProc of the ILMScrCapUserCallback interface when the capture source is minimized. NOTIFY_AREACHANGE: Call NotifyCallbackProc of the ILMScrCapUserCallback interface when the capture area is changed. NOTIFY_CAPWIDTH_EXCEEDED_LIMIT: Call NotifyCallbackProc of the ILMScrCapUserCallback interface when using the selection tool and the selected area width exceeded the LowerWidthLimit or UpperWidthLimit values. NOTIFY_CAPHEIGHT_EXCEEDED_LIMIT: Call NotifyCallbackProc of the ILMScrCapUserCallback interface when using the selection tool and the selected area height exceeded the LowerHeightLimit or UpperHeightLimit values. These values may also be combined using logical OR. |
SourceAreaChangeConstants |
OnSourceAreaChange |
Determines which action to take if the capture source area is resized or the visible area of the capture source is covered by other windows. This property has no effect if the capture source is set to full screen. Possible values are: AREACHANGE_CAPTURE_OTHER_WINDOWS: Capture the contents under the resized or/and convered area. AREACHANGE_FILL_UNCOVERED_AREA: Fill the resized or/and covered area with the color specified in the FillColor property of this interface. |
SourceCloseConstants |
OnSourceClose |
Determines which action to take if the capture source is closed. This property has no effect if the capture source is set to full screen. Possible values are: |
SourceMinimizeConstants |
OnSourceMinimize |
Determines which action to take if the capture source is minimized. This property has no effect if the capture source is set to full screen. Possible values are: |
long |
RegionBottom |
Sets or gets the bottom boundary of the region. The value range is from RegionTop property + 1 to SourceHeight property. |
long |
RegionLeft |
Sets or gets the left boundary of the region. The value range is from 0 to RegionRight property. |
long |
RegionRight |
Sets or gets the right boundary of the region. The value range is from RegionLeft property + 1 to SourceWidth property. |
long |
RegionTop |
Sets or gets the top boundary of the region. The value range is from 0 to RegionBottom property. |
VARIANT_BOOL |
ShowCrossLines |
Shows or hides the cross lines cursor when the SelectRegionTool method is being used. Possible values are: |
VARIANT_BOOL |
ShowCursor |
Shows or hides the cursor in the capture stream. Possible values are: |
VARIANT_BOOL |
ShowPanWindow |
Shows or hides the pan window when the SelectRegionTool method is being used. The pan window provides up to 10X zooming. Use the + and keys for zooming in and out. The panned area is the area under the mouse cursor. |
VARIANT_BOOL |
ShowWHInfo |
Shows or hides the region width and height information while dragging the mouse to select the region, when the SelectRegionTool method is being used. The width and height information is displayed near the cursor. |
VARIANT_BOOL |
ShowXYPosInfo |
Shows or hides the X and Y coordinates while dragging the mouse to select a region when the SelectRegionTool method is being used. The X and Y coordinate information is displayed near the cursor. |
long |
SourceHeight |
(Read only) Retrieves the actual height in pixels of the capture area. |
long |
SourceWidth |
(Read only) Retrieves the actual width in pixels of the capture area. |
VARIANT_BOOL |
TrackWindow |
Enables or disables the track window option. Possible values are: This property has no effect if the capture source is set to full screen. |
WindowCaptureOptionConstants |
WindowCaptureOption |
Sets or gets a value that indicates what to capture from the window. Possible values are: This property has no effect if the capture source is set to full screen. |
VARIANT_BOOL |
ManualMode |
Enables or disables the manual capturing mode. In manual capturing mode, frames are pushed downstream on user request (no frames will be captured if CaptureFrames method not called). |
EffectShapeConstants |
OnRightBtnClkEffectShape |
Sets or gets a value that indicates the effect shape when the right button click. Possible values are: EFFECTSHAPE_NON: do not perform any effect. EFFECTSHAPE_RINGS: display the rings effect when the mouse clicks. EFFECTSHAPE_CIRCLE: display the circle effect when the mouse clicks. EFFECTSHAPE_SUN: display the sun effect when the mouse clicks. |
long |
OnLeftBtnClkEffectColor |
Sets or gets the color effect shape for the left mouse button clicks. This property accepts/retrieves a COLORREF value. |
long |
OnRightBtnClkEffectColor |
Sets or gets the color effect shape for the right mouse button clicks. This property accepts/retrieves a COLORREF value. |
long |
OnLeftBtnClkEffectSize |
Sets or gets the shape effect size when the left mouse button clicks. |
long |
OnRightBtnClkEffectSize |
Sets or gets the shape effect size when the right mouse button clicks. |
VARIANT_BOOL |
EnableOutline |
Displays a frame (outline) around the captured source. |
OutlineShapeConstants |
OutlineShape |
Sets or gets a value that indicates the outline shape. Possible values are: OUTLINESHAPE_RECTANGLE: The outline shape is a rectangular shape. OUTLINESHAPE_CORNER: the outline shape is a corner shape. |
MouseHighlightConstants |
MouseHighlight |
Sets or gets a value that indicates the mouse highlight. Possible values are: MOUSEHIGHLIGHT_NON: do not perform any mouse shape highlight. MOUSEHIGHLIGHT_SQUARE: display a square shape highlight over the mouse. MOUSEHIGHLIGHT_RECTANGLE: display a rectangular shape highlight over the mouse. MOUSEHIGHLIGHT_ROUNDEDRECTANGLE: display a rounded rectangle shape highlight over the mouse. MOUSEHIGHLIGHT_CIRCLE: display a circle shape highlight over the mouse. MOUSEHIGHLIGHT_ELLIPSE: display an ellipse shape highlight over the mouse. |
long |
MouseHighlightSize |
Sets or gets the mouse highlight size. This property accepts/retrieves a COLORREF value. |
long |
MouseHighlightColor |
Sets or gets the mouse highlight color. This property accepts/retrieves a COLORREF value. |
MouseHighlightModeConstants |
MouseHighlightMode |
Changes the mouse highlight mode. Possible values are: HIGHLIGHTMODE_TRANSLUCENT: The mouse highlight is translucent. HIGHLIGHTMODE_OPAQUE: The mouse highlight is opaque. |
long |
UserEventsNotifyCallback |
Determines which events will call the MouseEventsProc and/or KeyboardEventsProc of the ILMScrCapUserEventsCallback interface. Possible values are: USEREVENT_LBUTTONDOWN: Call MouseEventsProc of the ILMScrCapUserEventsCallback interface if the left mouse button pressed. USEREVENT_LBUTTONUP: Call MouseEventsProc of the ILMScrCapUserEventsCallback interface if the left mouse button released. USEREVENT_RBUTTONDOWN: Call MouseEventsProc of the ILMScrCapUserEventsCallback interface if the right mouse button pressed. USEREVENT_RBUTTONUP: Call MouseEventsProc of the ILMScrCapUserEventsCallback interface if the left mouse button released. USEREVENT_MOUSEMOVE: Call MouseEventsProc of the ILMScrCapUserEventsCallback interface when the mouse moves. USEREVENT_MOUSEWHEEL: Call MouseEventsProc of the ILMScrCapUserEventsCallback interface when the mouse wheel is rotated. USEREVENT_KEYDOWN: Call KeyboardEventsProc of the ILMScrCapUserEventsCallback interface when a nonsystem key is pressed. USEREVENT_KEYUP Call KeyboardEventsProc of the ILMScrCapUserEventsCallback interface when a nonsystem key is released. USEREVENT_SYSKEYDOWN: Call KeyboardEventsProc of the ILMScrCapUserEventsCallback interface when the F10 key pressed (which activates the menu bar) or holds down the ALT key and then presses another key. USEREVENT_SYSKEYUP: Call KeyboardEventsProc of the ILMScrCapUserEventsCallback interface when the key that was pressed while the ALT key was held down released. |
VARIANT_BOOL |
ManualMode |
Enables or disables the manual capturing mode. In manual capturing mode, frames are pushed downstream on user request (no frames will be captured if CaptureFrames method not called). |
long |
CaptureAlignment |
Sets or gets the source capture alignments from the capture area. It also has an effect on the panning and zooming process. Possible values are: CAPALIGNMENT_LEFT: the source capture will be from the left. CAPALIGNMENT_TOP: the source capture will be from the top. CAPALIGNMENT_RIGHT: the source capture will be from the right. CAPALIGNMENT_BOTTOM: the source capture will be from the bottom. CAPALIGNMENT_HCENTER: the source capture will be from horizontal center. CAPALIGNMENT_VCENTER: the source capture will be from vertical center. |
long |
OutlineColor |
Sets or gets the outline shape color. This property accepts/retrieves a COLORREF value. |
long |
LowerWidthLimit |
Sets or gets the minimum region width that can be selected when using the SelectRegionTool method. |
long |
UpperWidthLimit |
Sets or gets the maximum region width that can be selected when using the SelectRegionTool method. |
long |
LowerHeightLimit |
Sets or gets the minimum region height that can be selected when using the SelectRegionTool method. |
long |
UpperHeightLimit |
Sets or gets the maximum region height that can be selected when using the SelectRegionTool method. |
long |
RgnSelToolStepSizeX |
Sets or gets the X step size of the selection process when using SelectRegionTool method. (e.g If this value is 2, the selection X steps will be 2 by 2 pixels). |
long |
RgnSelToolStepSizeY |
Sets or gets the Y step size of the selection process when using SelectRegionTool method. (e.g If this value is 2, the selection Y steps will be 2 by 2 pixels). |
long |
RgnSelToolWarningColor |
Sets or gets the selection tool warning color. |
VARIANT_BOOL |
RgnSelToolLockSelOnLimit |
Enables or disables the lock selection when the region width and/or height reach the limits. If this is VARIANT_TRUE, the selection will be locked. If this is VARIANT_FALSE and the ShowWHInfo property is VARIANT_TRUE, the Width/Height info dialog color will be changed with RgnSelToolWarningColor color. |
EffectShapeConstants |
OnLeftBtnClkEffectShape |
Sets or gets a value that indicates the effect shape when the left button click. Possible values are: EFFECTSHAPE_NON:do not perform any effect when the mouse clicks. EFFECTSHAPE_RINGS: display the rings effect when the mouse clicks. EFFECTSHAPE_CIRCLE: display the circle effect when the mouse clicks. EFFECTSHAPE_SUN: display the sun effect when the mouse clicks. |
EffectShapeConstants |
OnRightBtnClkEffectShape |
Sets or gets a value that indicates the effect shape when the right button click. Possible values are: EFFECTSHAPE_NON: do not perform any effect. EFFECTSHAPE_RINGS: display the rings effect when the mouse clicks. EFFECTSHAPE_CIRCLE: display the circle effect when the mouse clicks. EFFECTSHAPE_SUN: display the sun effect when the mouse clicks. |
long |
OnLeftBtnClkEffectColor |
Sets or gets the color effect shape for the left mouse button clicks. This property accepts/retrieves a COLORREF value. |
long |
OnRightBtnClkEffectColor |
Sets or gets the color effect shape for the right mouse button clicks. This property accepts/retrieves a COLORREF value. |
long |
OnLeftBtnClkEffectSize |
Sets or gets the shape effect size when the left mouse button clicks. |
long |
OnRightBtnClkEffectSize |
Sets or gets the shape effect size when the right mouse button clicks. |
VARIANT_BOOL |
EnablePanning |
Enable or disable mouse panning. If the value is VARIANT_TRUE then it will override the region and window options and the capture source will be the area around the mouse that can be determined using the PanningWidth and PanningHeight properties. |
long |
ZoomFactor |
Change the zoom factor. Possible value between 10 and 800. Where 100 causes no zoom (normal size). |
long | MonitorSource | Sets or gets the monitor source as a HMONITOR handle, this is useful in multiple monitors cases. This property works in conjunction with CaptureSource property and requires it to be CAPTURE_FULL_SCREEN. |
LONG_PTR | SourceWindowHandle2 |
lXPos |
The X Coordinates on the screen. |
lYPos |
The Y Coordinates on the screen. |
Moves the capture area to the X and Y coordinates on the screen. This is valid only if the EnablePanning and EnableRegion properties are true. The CaptureAlignment property determines the source capture alignments from the capture area.
S_OK if successful, E_UNEXPECTED otherwise.
lHwnd |
The window handle to pan to it, or use one of the following values: PANTO_WINDOWUNDERCURSOR: Pan to the window that is under the user cursor. PANTO_ACTIVEWINDOW: Pan to the window that is active. |
vbFollow |
Determine if the region needs to follow the window when its position changes. Pass VARIANT_TRUE to follow the window, pass VARIANT_FALSE not tot. |
vbFit |
Determine if the region needs to fit to the window. Pass VARIANT_TRUE to fit the window, pass VARIANT_FALSE not to. |
Moves the capture region to the passed window handle coordinates. This is valid only if the EnablePanning and EnableRegion properties are true. The CaptureAlignment property determines the source capture alignments from the capture area.
vbFollow |
If this is VARIANT_TRUE, the region will track the cursor when it moves. |
Moves the capture region to the cursor position. This is valid only if the EnablePanning and EnableRegion properties are true. The CaptureAlignment property determines the source capture alignments from the capture area.
lSteps |
The zoom steps value between the old zoom level and new zoom level. |
lMinStepSize |
The minimum step size in pixels. If the increase/decrease size will be less than lMinStepSize value, then the increase/decrease size will be lMinStepSize value. |
Sets the zoom steps information to change the zoom level from the old to the new level with steps. To change the zoom level without any steps, pass 0 to lSteps parameter.
S_OK if successful, S_FALSE otherwise.
PlSteps |
Pointer to receive the current zoom steps value. |
plMinStepSize |
Pointer to receive the current minimum step size in pixels. |
Gets the current zoom steps information.
S_OK if successful, S_E_POINTER otherwise.
lSteps |
The pan steps value between the old position and new position. |
lMinStepSteps |
The minimum step size in pixels. If the movement size will be less than lMinStepSize value, then the movement size will be lMinStepSize value. |
Sets the pan steps information to change the movement from the old to the new positions with steps. To set the movement without any steps, pass 0 to lSteps parameter.
S_OK if successful, S_FALSE otherwise.
PlSteps |
Pointer to receive the current pan steps value. |
plMinStepSize |
Pointer to receive the current minimum step size in pixels. |
Gets the current movement steps information.
S_OK if successful, E_POINTER otherwise.
Resets the screen capture options values to the default values.
S_OK
Uses the CaptureFrames method to force the number of frames (determined by lFramesNumber parameter) to be captured. This method must be called in the manual mode; otherwise it will return a wrong state error.
S_OK if successful, VFW_E_WRONG_STATE otherwise.
Refreshes the capture source coordinates before running.
S_OK value.
Activates the region selection tool for selecting a region of the current desktop. To select a region, press and hold the left mouse button and drag the mouse until the desired region is outlined. Release the mouse button to complete the selection. To cancel the selection process, press the ESC key. Options are provided for displaying information while dragging the mouse.
For more information, refer to the following properties listed in the Interface Properties table above:
EnableRegion property
RegionLeft property
RegionTop property
RegionRight property
RegionBottom property
ShowPanWindow property
ShowCrossLines property
ShowXYPosInfo property
ShowWHInfo property
S_OK if successful, S_FALSE otherwise.
Activates the window selection tool for selecting a window as the capture source for the filter. To select the window under the cursor, press the left mouse button. To cancel the window selection process, press the ESC key. Options are provided by several properties of this interface, for displaying information while dragging the mouse.
S_OK if successful, S_FALSE otherwise.
pCallbackObject |
a valid pointer to an ILMScrCapUserCallback interface. |
pUserData |
Long value to pass a pointer for user-defined data required by the callback. |
Sets the callback object for the Screen Capture filter. For more information, refer to ILMScrCapUserCallback interface.
S_OK if successful, S_FALSE otherwise.
bBegin | Indicates whether the properties are being changed and the streaming paused, or the properties are being updated and streaming resumed. | |
Value | Meaning | |
VARIANT_TRUE | The properties are being changed and streaming has been paused. | |
VARIANT_FALSE | The properties are being updated and streaming has resumed. |
Sets the changes affecting the capture source. You must call this method before and after setting the following properties or calling the following methods of the ILMScrCap Interface:
CaptureSource property
SourceWindowHandle property
RegionLeft property
RegionTop property
RegionRight property
RegionBottom property
SelectRegionTool method
SelectWindowTool method
S_OK if successful, S_FALSE otherwise.
Cancels the region or window selection process.
S_OK if connected, S_FALSE otherwise.
pCallbackObject |
a valid pointer to an ILMScrCapUserEventsCallback interface. |
pUserData |
Long value to pass a pointer for user-defined data required by the callback. |
Sets the callback object for the user events. Pass NULL in pCallbackObject parameter to free the old callback object. For more information, refer to ILMScrCapUserEventsCallback interface.
S_OK if successful, E_POINTER otherwise.
lLeft |
Left boundary. |
lTop |
Top boundary. |
lRight |
Right boundary. |
lBottom |
Bottom boundary. |
hMonitor |
A valid pointer to receive the handle of the monitor that contains the given boundaries. |
Gets a handle for the monitor that contains the provided boundaries according to the virtual screen resolution.
If the returned value is 0, this means all screens must be selected to cover the given boundaries.
S_OK if successful; otherwise, E_POINTER or E_FAIL.