Search
Module:
Directory

   Desktop Functions:

   Smart Device Functions:


Show Recent Changes
Subscribe (RSS)
Misc. Pages
Comments
FAQ
Helpful Tools
Playground
Suggested Reading
Website TODO List
Download Visual Studio Add-In

CAPTUREPARMS (Structures)
 
.
Summary
The CAPTUREPARMS structure contains parameters that control the streaming video capture process. This structure is used to get and set parameters that affect the capture rate, the number of buffers to use while capturing, and how capture is terminated.

C# Definition:

    /// <summary>
    /// The CAPTUREPARMS structure contains parameters that control the streaming video capture process.
    /// This structure is used to get and set parameters that affect the capture rate, the number of
    /// buffers to use while capturing, and how capture is terminated.
    /// Type reference:  http://www.powerbasic.com/support/help/pbcc/comparative_data_types_c_c++.htm
    /// </summary>
    [StructLayout(LayoutKind.Sequential, Pack=1, CharSet=CharSet.Ansi)]
    public struct CAPTUREPARMS
    {
        /// <summary>
        /// Requested frame rate, in microseconds. The default value is 66667, which corresponds to
        /// 15 frames per second.
        /// </summary>
        public System.UInt32 dwRequestMicroSecPerFrame;
    /// <summary>
    /// Requested frame rate, in microseconds. The default value is 66667, which corresponds to
    /// 15 frames per second.
    /// </summary>
    public int dwRequestMicroSecPerFrame;

        /// <summary>
        /// User-initiated capture flag. If this member is TRUE, AVICap displays a dialog box prompting
        /// the user to initiate capture. The default value is FALSE.
        /// </summary>
        public System.Int32 fMakeUserHitOKToCapture;
    /// <summary>
    /// User-initiated capture flag. If this member is TRUE, AVICap displays a dialog box prompting
    /// the user to initiate capture. The default value is FALSE.
    /// </summary>
    [MarshalAs(UnmanagedType.Bool)]
    public bool fMakeUserHitOKToCapture;

        /// <summary>
        /// Maximum allowable percentage of dropped frames during capture. Values range from 0 to 100.
        /// The default value is 10.
        /// </summary>
        public System.UInt32 wPercentDropForError;
    /// <summary>
    /// Maximum allowable percentage of dropped frames during capture. Values range from 0 to 100.
    /// The default value is 10.
    /// </summary>
    public int wPercentDropForError;

        /// <summary>
        /// Yield flag. If this member is TRUE, the capture window spawns a separate background thread
        /// to perform step and streaming capture. The default value is FALSE. Applications that set
        /// this flag must handle potential reentry issues because the controls in the application are
        /// not disabled while capture is in progress.
        /// </summary>
        public System.Int32 fYield;
    /// <summary>
    /// Yield flag. If this member is TRUE, the capture window spawns a separate background thread
    /// to perform step and streaming capture. The default value is FALSE. Applications that set
    /// this flag must handle potential reentry issues because the controls in the application are
    /// not disabled while capture is in progress.
    /// </summary>
    [MarshalAs(UnmanagedType.Bool)]
    public bool fYield;

        /// <summary>
        /// Maximum number of index entries in an AVI file. Values range from 1800 to 324,000. If set
        /// to 0, a default value of 34,952 (32K frames plus a proportional number of audio buffers)
        /// is used. Each video frame or buffer of waveform-audio data uses one index entry. The value
        /// of this entry establishes a limit for the number of frames or audio buffers that can be
        /// captured.
        /// </summary>
        public System.UInt32 dwIndexSize;
    /// <summary>
    /// Maximum number of index entries in an AVI file. Values range from 1800 to 324,000. If set
    /// to 0, a default value of 34,952 (32K frames plus a proportional number of audio buffers)
    /// is used. Each video frame or buffer of waveform-audio data uses one index entry. The value
    /// of this entry establishes a limit for the number of frames or audio buffers that can be
    /// captured.
    /// </summary>
    public int dwIndexSize;

        /// <summary>
        /// Logical block size, in bytes, of an AVI file. The value 0 indicates the current sector
        /// size is used as the granularity.
        /// </summary>
        public System.UInt32 wChunkGranularity;
    /// <summary>
    /// Logical block size, in bytes, of an AVI file. The value 0 indicates the current sector
    /// size is used as the granularity.
    /// </summary>
    public int wChunkGranularity;

        /// <summary>
        /// Not used in Win32 applications.
        /// </summary>
        public System.Int32 fUsingDOSMemory;
    /// <summary>
    /// Not used in Win32 applications.
    /// </summary>
    [MarshalAs(UnmanagedType.Bool)]
    public bool fUsingDOSMemory;

        /// <summary>
        /// Maximum number of video buffers to allocate. The memory area to place the buffers is
        /// specified with fUsingDOSMemory. The actual number of buffers allocated might be lower
        /// if memory is unavailable.
        /// </summary>
        public System.UInt32 wNumVideoRequested;
    /// <summary>
    /// Maximum number of video buffers to allocate. The memory area to place the buffers is
    /// specified with fUsingDOSMemory. The actual number of buffers allocated might be lower
    /// if memory is unavailable.
    /// </summary>
    public int wNumVideoRequested;

        /// <summary>
        /// Capture audio flag. If this member is TRUE, audio is captured during streaming capture.
        /// This is the default value if audio hardware is installed.
        /// </summary>
        public System.Int32 fCaptureAudio;
    /// <summary>
    /// Capture audio flag. If this member is TRUE, audio is captured during streaming capture.
    /// This is the default value if audio hardware is installed.
    /// </summary>
    [MarshalAs(UnmanagedType.Bool)]
    public bool fCaptureAudio;

        /// <summary>
        /// Maximum number of audio buffers to allocate. The maximum number of buffers is 10.
        /// </summary>
        public System.UInt32 wNumAudioRequested;
    /// <summary>
    /// Maximum number of audio buffers to allocate. The maximum number of buffers is 10.
    /// </summary>
    public int wNumAudioRequested;

        /// <summary>
        /// Virtual keycode used to terminate streaming capture. The default value is VK_ESCAPE.
        /// You must call the RegisterHotKey function before specifying a keystroke that can abort
        /// a capture session. You can combine keycodes that include CTRL and SHIFT keystrokes by using
        /// the logical OR operator with the keycodes for CTRL (0x8000) and SHIFT (0x4000)
        /// </summary>
        public System.UInt32 vKeyAbort; // check this
    /// <summary>
    /// Virtual keycode used to terminate streaming capture. The default value is VK_ESCAPE.
    /// You must call the RegisterHotKey function before specifying a keystroke that can abort
    /// a capture session. You can combine keycodes that include CTRL and SHIFT keystrokes by using
    /// the logical OR operator with the keycodes for CTRL (0x8000) and SHIFT (0x4000)
    /// </summary>
    public int vKeyAbort;

        /// <summary>
        /// Abort flag for left mouse button. If this member is TRUE, streaming capture stops if the
        /// left mouse button is pressed. The default value is TRUE.
        /// </summary>
        public System.Int32 fAbortLeftMouse;
    /// <summary>
    /// Abort flag for left mouse button. If this member is TRUE, streaming capture stops if the
    /// left mouse button is pressed. The default value is TRUE.
    /// </summary>
    [MarshalAs(UnmanagedType.Bool)]
    public bool fAbortLeftMouse;

        /// <summary>
        /// Abort flag for right mouse button. If this member is TRUE, streaming capture stops if the
        /// right mouse button is pressed. The default value is TRUE.
        /// </summary>
        public System.Int32 fAbortRightMouse;
    /// <summary>
    /// Abort flag for right mouse button. If this member is TRUE, streaming capture stops if the
    /// right mouse button is pressed. The default value is TRUE.
    /// </summary>
    [MarshalAs(UnmanagedType.Bool)]
    public bool fAbortRightMouse;

        /// <summary>
        /// Time limit enabled flag. If this member is TRUE, streaming capture stops after the number
        /// of seconds in wTimeLimit has elapsed. The default value is FALSE.
        /// </summary>
        public System.Int32 fLimitEnabled;
    /// <summary>
    /// Time limit enabled flag. If this member is TRUE, streaming capture stops after the number
    /// of seconds in wTimeLimit has elapsed. The default value is FALSE.
    /// </summary>
    [MarshalAs(UnmanagedType.Bool)]
    public bool fLimitEnabled;

        /// <summary>
        /// Time limit for capture, in seconds. This parameter is used only if fLimitEnabled is TRUE.
        /// </summary>
        public System.UInt32 wTimeLimit;
    /// <summary>
    /// Time limit for capture, in seconds. This parameter is used only if fLimitEnabled is TRUE.
    /// </summary>
    public int wTimeLimit;

        /// <summary>
        /// MCI device capture flag. If this member is TRUE, AVICap controls an MCI-compatible video
        /// source during streaming capture. MCI-compatible video sources include VCRs and laserdiscs.
        /// </summary>
        public System.Int32 fMCIControl;
    /// <summary>
    /// MCI device capture flag. If this member is TRUE, AVICap controls an MCI-compatible video
    /// source during streaming capture. MCI-compatible video sources include VCRs and laserdiscs.
    /// </summary>
    [MarshalAs(UnmanagedType.Bool)]
    public bool fMCIControl;

        /// <summary>
        /// MCI device step capture flag. If this member is TRUE, step capture using an MCI device as
        /// a video source is enabled. If it is FALSE, real-time capture using an MCI device is enabled.
        /// (If fMCIControl is FALSE, this member is ignored.)
        /// </summary>
        public System.Int32 fStepMCIDevice;
    /// <summary>
    /// MCI device step capture flag. If this member is TRUE, step capture using an MCI device as
    /// a video source is enabled. If it is FALSE, real-time capture using an MCI device is enabled.
    /// (If fMCIControl is FALSE, this member is ignored.)
    /// </summary>
    [MarshalAs(UnmanagedType.Bool)]
    public bool fStepMCIDevice;

        /// <summary>
        /// Starting position, in milliseconds, of the MCI device for the capture sequence. (If fMCIControl
        /// is FALSE, this member is ignored.)
        /// </summary>
        public System.UInt32 dwMCIStartTime;
    /// <summary>
    /// Starting position, in milliseconds, of the MCI device for the capture sequence. (If fMCIControl
    /// is FALSE, this member is ignored.)
    /// </summary>
    public int dwMCIStartTime;

        /// <summary>
        /// Stopping position, in milliseconds, of the MCI device for the capture sequence. When this position
        /// in the content is reached, capture ends and the MCI device stops. (If fMCIControl is FALSE, this
        /// member is ignored.)
        /// </summary>
        public System.UInt32 dwMCIStopTime;
    /// <summary>
    /// Stopping position, in milliseconds, of the MCI device for the capture sequence. When this position
    /// in the content is reached, capture ends and the MCI device stops. (If fMCIControl is FALSE, this
    /// member is ignored.)
    /// </summary>
    public int dwMCIStopTime;

        /// <summary>
        /// Double-resolution step capture flag. If this member is TRUE, the capture hardware captures at
        /// twice the specified resolution. (The resolution for the height and width is doubled.) Enable
        /// this option if the hardware does not support hardware-based decimation and you are capturing in
        /// the RGB format.
        /// </summary>
        public System.Int32 fStepCaptureAt2x;
    /// <summary>
    /// Double-resolution step capture flag. If this member is TRUE, the capture hardware captures at
    /// twice the specified resolution. (The resolution for the height and width is doubled.) Enable
    /// this option if the hardware does not support hardware-based decimation and you are capturing in
    /// the RGB format.
    /// </summary>
    [MarshalAs(UnmanagedType.Bool)]
    public bool fStepCaptureAt2x;

        /// <summary>
        /// Number of times a frame is sampled when creating a frame based on the average sample. A typical
        /// value for the number of averages is 5.
        /// </summary>
        public System.UInt32 wStepCaptureAverageFrames;
    /// <summary>
    /// Number of times a frame is sampled when creating a frame based on the average sample. A typical
    /// value for the number of averages is 5.
    /// </summary>
    public int wStepCaptureAverageFrames;

        /// <summary>
        /// Audio buffer size. If the default value of zero is used, the size of each buffer will be the maximum
        /// of 0.5 seconds of audio or 10K bytes.
        /// </summary>
        public System.UInt32 dwAudioBufferSize;
    /// <summary>
    /// Audio buffer size. If the default value of zero is used, the size of each buffer will be the maximum
    /// of 0.5 seconds of audio or 10K bytes.
    /// </summary>
    public int dwAudioBufferSize;

        /// <summary>
        /// Not used in Win32 applications.
        /// </summary>
        public System.Int32 fDisableWriteCache;
    /// <summary>
    /// Not used in Win32 applications.
    /// </summary>
    [MarshalAs(UnmanagedType.Bool)]
    public bool fDisableWriteCache;

        /// <summary>
        /// Indicates whether the audio stream controls the clock when writing an AVI file. If this member is
        /// set to AVSTREAMMASTER_AUDIO, the audio stream is considered the master stream and the video stream
        /// duration is forced to match the audio duration. If this member is set to AVSTREAMMASTER_NONE, the
        /// durations of audio and video streams can differ.
        /// </summary>
        public System.UInt32 AVStreamMaster;
    /// <summary>
    /// Indicates whether the audio stream controls the clock when writing an AVI file. If this member is
    /// set to AVSTREAMMASTER_AUDIO, the audio stream is considered the master stream and the video stream
    /// duration is forced to match the audio duration. If this member is set to AVSTREAMMASTER_NONE, the
    /// durations of audio and video streams can differ.
    /// </summary>
    public int AVStreamMaster;
    }

VB Signature:

Structure CAPTUREPARMS
        ''' <summary>
        ''' Requested frame rate, in microseconds. The default value is 66667, which corresponds to
        ''' 15 frames per second.
        ''' </summary>

        ''' <summary>Requested frame rate, in microseconds. The default value is 66667, which corresponds to 15 frames per second.</summary>
        Public dwRequestMicroSecPerFrame As Integer
        ''' <summary>
        ''' User-initiated capture flag. If this member is TRUE, AVICap displays a dialog box prompting
        ''' the user to initiate capture. The default value is FALSE.
        ''' </summary>

        ''' <summary>User-initiated capture flag. If this member is TRUE, AVICap displays a dialog box prompting the user to initiate capture. The default value is FALSE.</summary>
        <MarshalAs(UnmanagedType.Bool)> Public fMakeUserHitOKToCapture As Boolean
        ''' <summary>
        ''' Maximum allowable percentage of dropped frames during capture. Values range from 0 to 100.
        ''' The default value is 10.
        ''' </summary>

        ''' <summary>Maximum allowable percentage of dropped frames during capture. Values range from 0 to 100. The default value is 10.</summary>
        Public wPercentDropForError As Integer
        ''' <summary>
        ''' Yield flag. If this member is TRUE, the capture window spawns a separate background thread
        ''' to perform step and streaming capture. The default value is FALSE. Applications that set this
        ''' flag must handle potential reentry issues because the controls in the application are not
        ''' disabled while capture is in progress.
        ''' </summary>

        ''' <summary>Yield flag. If this member is TRUE, the capture window spawns a separate background thread to perform step and streaming capture. The default value is FALSE. Applications that set this flag must handle potential reentry issues because the controls in the application are not disabled while capture is in progress.</summary>
        <MarshalAs(UnmanagedType.Bool)> Public fYield As Boolean
        ''' <summary>
        ''' Maximum number of index entries in an AVI file. Values range from 1800 to 324,000. If set to 0,
        ''' a default value of 34,952 (32K frames plus a proportional number of audio buffers) is used. Each
        ''' video frame or buffer of waveform-audio data uses one index entry. The value of this entry
        ''' establishes a limit for the number of frames or audio buffers that can be captured.
        ''' </summary>

        ''' <summary>Maximum number of index entries in an AVI file. Values range from 1800 to 324,000. If set to 0, a default value of 34,952 (32K frames plus a proportional number of audio buffers) is used. Each video frame or buffer of waveform-audio data uses one index entry. The value of this entry establishes a limit for the number of frames or audio buffers that can be captured.</summary>
        Public dwIndexSize As Integer
        ''' <summary>
        ''' Logical block size, in bytes, of an AVI file. The value 0 indicates the current sector size is
        ''' used as the granularity.
        ''' </summary>

        ''' <summary>Logical block size, in bytes, of an AVI file. The value 0 indicates the current sector size is used as the granularity.</summary>
        Public wChunkGranularity As Integer
        ''' <summary>
        ''' Not used in Win32 applications.
        ''' </summary>

        ''' <summary>Not used in Win32 applications.</summary>
        <MarshalAs(UnmanagedType.Bool)> Public fUsingDOSMemory As Boolean
        ''' <summary>
        ''' Maximum number of video buffers to allocate. The memory area to place the buffers is
        ''' specified with fUsingDOSMemory. The actual number of buffers allocated might be lower
        ''' if memory is unavailable.
        ''' </summary>

        ''' <summary>Maximum number of video buffers to allocate. The memory area to place the buffers is specified with fUsingDOSMemory. The actual number of buffers allocated might be lower if memory is unavailable.</summary>
        Public wNumVideoRequested As Integer
        ''' <summary>
        ''' Capture audio flag. If this member is TRUE, audio is captured during streaming
        ''' capture. This is the default value if audio hardware is installed.
        ''' </summary>

        ''' <summary>Capture audio flag. If this member is TRUE, audio is captured during streaming capture. This is the default value if audio hardware is installed.</summary>
        <MarshalAs(UnmanagedType.Bool)> Public fCaptureAudio As Boolean
        ''' <summary>
        ''' Maximum number of audio buffers to allocate. The maximum number of buffers is 10.
        ''' </summary>

        ''' <summary>Maximum number of audio buffers to allocate. The maximum number of buffers is 10.</summary>
        Public wNumAudioRequested As Integer
        ''' <summary>
        ''' Virtual keycode used to terminate streaming capture. The default value is VK_ESCAPE.
        ''' You must call the RegisterHotKey function before specifying a keystroke that can abort
        ''' a capture session. You can combine keycodes that include CTRL and SHIFT keystrokes
        ''' by using the logical OR operator with the keycodes for CTRL (0x8000) and SHIFT (0x4000).
        ''' </summary>

        ''' <summary>Virtual keycode used to terminate streaming capture. The default value is VK_ESCAPE. You must call the RegisterHotKey function before specifying a keystroke that can abort a capture session. You can combine keycodes that include CTRL and SHIFT keystrokes by using the logical OR operator with the keycodes for CTRL (0x8000) and SHIFT (0x4000).</summary>
        Public vKeyAbort As Integer
        ''' <summary>
        ''' Abort flag for left mouse button. If this member is TRUE, streaming capture stops if
        ''' the left mouse button is pressed. The default value is TRUE.
        ''' </summary>

        ''' <summary>Abort flag for left mouse button. If this member is TRUE, streaming capture stops if the left mouse button is pressed. The default value is TRUE.</summary>
        <MarshalAs(UnmanagedType.Bool)> Public fAbortLeftMouse As Boolean
        ''' <summary>
        ''' Abort flag for right mouse button. If this member is TRUE, streaming capture stops if
        ''' the right mouse button is pressed. The default value is TRUE.
        ''' </summary>

        ''' <summary>Abort flag for right mouse button. If this member is TRUE, streaming capture stops if the right mouse button is pressed. The default value is TRUE.</summary>
        <MarshalAs(UnmanagedType.Bool)> Public fAbortRightMouse As Boolean
        ''' <summary>
        ''' Time limit enabled flag. If this member is TRUE, streaming capture stops after the
        ''' number of seconds in wTimeLimit has elapsed. The default value is FALSE.
        ''' </summary>

        ''' <summary>Time limit enabled flag. If this member is TRUE, streaming capture stops after the number of seconds in wTimeLimit has elapsed. The default value is FALSE.</summary>
        <MarshalAs(UnmanagedType.Bool)> Public fLimitEnabled As Boolean
        ''' <summary>
        ''' Time limit for capture, in seconds. This parameter is used only if fLimitEnabled is TRUE.
        ''' </summary>

        ''' <summary>Time limit for capture, in seconds. This parameter is used only if fLimitEnabled is TRUE.</summary>
        Public wTimeLimit As Integer
        ''' <summary>
        ''' MCI device capture flag. If this member is TRUE, AVICap controls an MCI-compatible video
        ''' source during streaming capture. MCI-compatible video sources include VCRs and laserdiscs.
        ''' </summary>

        ''' <summary>MCI device capture flag. If this member is TRUE, AVICap controls an MCI-compatible video source during streaming capture. MCI-compatible video sources include VCRs and laserdiscs.</summary>
        <MarshalAs(UnmanagedType.Bool)> Public fMCIControl As Boolean
        ''' <summary>
        ''' MCI device step capture flag. If this member is TRUE, step capture using an MCI device as
        ''' a video source is enabled. If it is FALSE, real-time capture using an MCI device is enabled.
        ''' (If fMCIControl is FALSE, this member is ignored.)
        ''' </summary>

        ''' <summary>MCI device step capture flag. If this member is TRUE, step capture using an MCI device as a video source is enabled. If it is FALSE, real-time capture using an MCI device is enabled. (If fMCIControl is FALSE, this member is ignored.)</summary>
        <MarshalAs(UnmanagedType.Bool)> Public fStepMCIDevice As Boolean
        ''' <summary>
        ''' Starting position, in milliseconds, of the MCI device for the capture sequence. (If
        ''' fMCIControl is FALSE, this member is ignored.)
        ''' </summary>

        ''' <summary>Starting position, in milliseconds, of the MCI device for the capture sequence. (If fMCIControl is FALSE, this member is ignored.)</summary>
        Public dwMCIStartTime As Integer
        ''' <summary>
        ''' Stopping position, in milliseconds, of the MCI device for the capture sequence. When this
        ''' position in the content is reached, capture ends and the MCI device stops. (If fMCIControl
        ''' is FALSE, this member is ignored.)
        ''' </summary>

        ''' <summary>Stopping position, in milliseconds, of the MCI device for the capture sequence. When this position in the content is reached, capture ends and the MCI device stops. (If fMCIControl is FALSE, this member is ignored.)</summary>
        Public dwMCIStopTime As Integer
        ''' <summary>
        ''' Double-resolution step capture flag. If this member is TRUE, the capture hardware captures
        ''' at twice the specified resolution. (The resolution for the height and width is doubled.)
        ''' Enable this option if the hardware does not support hardware-based decimation and you are
        ''' capturing in the RGB format.
        ''' </summary>

        ''' <summary>Double-resolution step capture flag. If this member is TRUE, the capture hardware captures at twice the specified resolution. (The resolution for the height and width is doubled.) Enable this option if the hardware does not support hardware-based decimation and you are capturing in the RGB format.</summary>
        <MarshalAs(UnmanagedType.Bool)> Public fStepCaptureAt2x As Boolean
        ''' <summary>
        ''' Number of times a frame is sampled when creating a frame based on the average sample. A
        ''' typical value for the number of averages is 5.
        ''' </summary>

        ''' <summary>Number of times a frame is sampled when creating a frame based on the average sample. A typical value for the number of averages is 5.</summary>
        Public wStepCaptureAverageFrames As Integer
        ''' <summary>
        ''' Audio buffer size. If the default value of zero is used, the size of each buffer will be the
        ''' maximum of 0.5 seconds of audio or 10K bytes.
        ''' </summary>

        ''' <summary>Audio buffer size. If the default value of zero is used, the size of each buffer will be the maximum of 0.5 seconds of audio or 10K bytes.</summary>
        Public dwAudioBufferSize As Integer
        ''' <summary>
        ''' Not used in Win32 applications.
        ''' </summary>

        ''' <summary>Not used in Win32 applications.</summary>
        <MarshalAs(UnmanagedType.Bool)> Public fDisableWriteCache As Boolean
        ''' <summary>
        ''' Indicates whether the audio stream controls the clock when writing an AVI file. If this
        ''' member is set to AVSTREAMMASTER_AUDIO, the audio stream is considered the master stream
        ''' and the video stream duration is forced to match the audio duration. If this member is
        ''' set to AVSTREAMMASTER_NONE, the durations of audio and video streams can differ.
        ''' </summary>
        ''' <summary>Indicates whether the audio stream controls the clock when writing an AVI file. If this member is set to AVSTREAMMASTER_AUDIO, the audio stream is considered the master stream and the video stream duration is forced to match the audio duration. If this member is set to AVSTREAMMASTER_NONE, the durations of audio and video streams can differ.</summary>
        Public AVStreamMaster As Integer
End Structure

User-Defined Field Types:

None.

Notes:

None.

Documentation

Please edit this page!

Do you have...

  • helpful tips?
  • corrections to the existing content?
  • alternate definitions?
  • additional languages you want to include?

Select "Edit This Page" on the right hand toolbar and edit it! Or add new pages containing any supporting types needed.

 
Access PInvoke.net directly from VS:
Terms of Use
Edit This Page
Find References
Show Printable Version
Revisions