ILMScrCap Interface

This is the interface for the LEAD Screen Capture Filter.

Data types:

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_CONTNUE_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;
 

Interface Properties:

 

Type

Name

Description

CaptureSourceConstants

CaptureSource

Sets or gets the capture source type. Possible values are:
CAPTURE_FULLSCREEN: The filter will capture from the full screen (desktop).
CAPTURE_ACTIVEWINDOW: The filter will capture from the active window.
CAPTURE_ACTIVECLIENT: The filter will capture from the client area of the active window.
CAPTURE_WINDOW: The filter will capture from a specific window.

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_WINDOW.

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

Gest the connection status of the filter output. Possible values are:
VARIANT_TRUE: The filter output pin is connected.
VARIANT_FALSE: The filter output pin is not connected.

CursorIconConstants

CursorIcon

Sets or gets cursor icon. Possible values are:

CURSOR_ARROW,
CURSOR_IBEAM,
CURSOR_WAIT,
CURSOR_CROSS,
CURSOR_UPARROW,
CURSOR_SIZENWSE,
CURSOR_SIZENESW,
CURSOR_SIZEWE,
CURSOR_SIZENS,
CURSOR_SIZEALL,
CURSOR_NO,
CURSOR_APPSTARTING,
CURSOR_HELP,
CURSOR_ACTUAL,
CURSOR_CUSTOM.

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 what 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 what 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 what 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:
CLOSE_STOP_CAPTURING: Stop capturing; stop the graph.
CLOSE_CONTINUE_FROM_LAST_POS: Continue capturing the contents of the last position the capture source was occupying.
CLOSE_FILL_COLOR: Fill the capture buffer with the color specified in the FillColor property of this interface.

SourceMinimizeConstants

OnSourceMinimize

Determines what 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:
MINIMIZE_PAUSE_CAPTURING: Pause capturing until the capture source is restored.
MINIMIZE_STOP_CAPTURING: Stop capturing; stop the graph.
MINIMIZE_CONTINUE_FROM_LAST_POS: Continue capturing the contents of the last position the capture source was occupying.
MINIMIZE_FILL_COLOR: Fill the capture buffer with the color specified in the FillColor property of this interface.

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_TRUE: Use the cross lines cursor.
VARIANT_FALSE: Use the normal arrow cursor.

VARIANT_BOOL

ShowCursor

Shows or hides the cursor in the capture stream. Possible values are:
VARIANT_TRUE: The mouse cursor will be captured with the other contents.
VARIANT_FALSE: The mouse cursor will not be captured.

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 mehtod 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:
VARIANT_TRUE: Capture the contents of the window area's current location, even if the window is moved.
VARIANT_FALSE: Capture the contents of the window at its original position, even if the window is moved.

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:
CAPTUREOPTION_VISIBLE_WINDOW: Capture the visible area only.
CAPTUREOPTION_ALL_WINDOW: Capture the entire window area.

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: dont do 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

Display 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: dont do 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

Change the mouse highlight mode. Possible values are:

HIGHLIGHTMODE_TRANSLUCENT: The mouse highlight is translucent.

HIGHLIGHTMODE_OPAQUE: The mouse highlight is opaque.

 

Long

UserEventsNotifyCallback

Determines what 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

Enable or disable 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: dont display any effect whe 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: dont do 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).

 

Interface Methods:

HRESULT PanToXY(long lXPos, long lYPos)

Parameters

lXPos

The X Coordinates on the screen.

lYPos

The Y Coordinates on the screen.

 

Description

To move 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.

Return

S_OK if successful, E_UNEXPECTED otherwise.

 

HRESULT PanToWindow(long lHwnd, VARIANT_BOOL vbFollow, VARIANT_BOOL vbFit)

Parameters

lHwnd

The window handle to pan to it, or use one of the following values:

PANTO_WINDOWUNDERCURSOR:  To pan to the window that is under the user cursor.

PANTO_ACTIVEWINDOW:               To pan to the window that is active.

vbFollow

Determine if the region needs to follow the window when its position changed. Pass VARIANT_TRUE to follow the window, pass VAIRNAT_FALSE to do not.

vbFit

Determine if the region needs to fit to the window. Pass VARIANT_TRUE to fit the window, pass VAIRNAT_FALSE to do not.

 

Description

To move 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.

 

HRESULT PanToCursor(VARIANT_BOOL vbFollow)

Parameters

vbFollow

If this is VARIANT_TRUE, the region will track the cursor when it moves.

 

Description

To move 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.

 

HRESULT SetZoomStepsInfo(long lSteps, long lMinStepSize)

Parameters

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.

Description

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.

Return

S_OK if successful, S_FALSE otherwise.

 

HRESULT GetZoomStepsInfo(long *plSteps, long *plMinStepSize)

Parameters

PlSteps

Pointer to receive the current zoom steps value.

plMinStepSize

Pointer to receive the current minimum step size in pixels.

Description

Gets the current zoom steps information.

Return

S_OK if successful, S_E_POINTER otherwise.

 

HRESULT SetPanStepsInfo(long lSteps, long lMinStepSize)

Parameters

lSteps

The pan steps value between the old position and new position.

lMinStepSize

The minimum step size in pixels. If the movement size will be less than lMinStepSize value, then the movement size will be lMinStepSize value.

Description

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.

Return

S_OK if successful, S_FALSE otherwise.

 

HRESULT GetPanStepsInfo(long *plSteps, long *plMinStepSize)

Parameters

PlSteps

Pointer to receive the current pan steps value.

plMinStepSize

Pointer to receive the current minimum step size in pixels.

Description

Gets the current movement steps information.

Return

S_OK if successful, E_POINTER otherwise.

 

HRESULT ResetToDefaults()

Description

Reset the screen capture options values to the default values.

Return

S_OK

 

HRESULT CaptureFrames(long lFramesNumber)

Description

Use 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.

Return

S_OK if successful, VFW_E_WRONG_STATE otherwise.

 

HRESULT RefreshSource()

Description

To Refresh the capture source coordinates before running

Return

S_OK value.

 

HRESULT SelectRegionTool ()

Description

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

Return

S_OK if successful, S_FALSE otherwise.

 

 

HRESULT SelectWindowTool ()

Description

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.

Return

S_OK if successful, S_FALSE otherwise.

 

 

HRESULT SetCallbackObject(ILMScrCapUserCallback *pCallbackObject, long  pUserData)

Parameters

pCallbackObject

a valid pointer to an ILMScrCapUserCallback interface.

pUserData

Long value to pass a pointer for user-defined data required by the callback.

Description

Sets the callback object for the Screen Capture filter. For more information, refer to ILMScrCapUserCallback interface.

Return

S_OK if successful, S_FALSE otherwise.

 

 

HRESULT ChangeSettings(VARIANT_BOOL bBegin)

Parameters

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.

Description

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

Return

S_OK if successful, S_FALSE otherwise.

HRESULT CancelSourceSelection()

Description

Cancels the region or window selection process.

Return

S_OK if connected, S_FALSE otherwise.

HRESULT SetUserEventsCallbackObject(ILMScrCapUserEventsCallback *pCallbackObject, long pUserData)

Parameters

pCallbackObject

a valid pointer to an ILMScrCapUserEventsCallback interface.

pUserData

Long value to pass a pointer for user-defined data required by the callback.

Description

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.

Return

S_OK if successful, E_POINTER otherwise.