ulParam1 (ULONG)

      This parameter can contain any of the following flags:

      Note: Either MCI_GETDEVCAPS_MESSAGE or MCI_GETDEVCAPS_ITEM must be specified.

      MCI_NOTIFY

        A notification message will be posted to the window specified in the hwndCallback parameter of the data structure pointed to by the pParam2 parameter. The notification will be posted when the action indicated by this message is completed or when an error occurs.
      MCI_WAIT
        Control is not to be returned until the action indicated by this message is completed or an error occurs.
      MCI_GETDEVCAPS_EXTENDED
        Indicates extended device capabilities are required. (Specifying MCI_GETDEVCAPS_EXTENDED implies MCI_GETDEVCAPS_ITEM.) See the individual device-specific extensions for each device for use of this flag.
      MCI_GETDEVCAPS_MESSAGE
        The usMessage field of the data structure identified by pParam2 contains a constant specifying the message to be queried. If the device supports the message, MCI_TRUE is returned; otherwise, MCI_FALSE is returned.

        Note: The string parser converts unrecognized strings into a message ID value of 0. This message value is defined as not being supported by any driver. Other messages are converted to their corresponding message ID value.

      MCI_GETDEVCAPS_ITEM
        The ulItem field of the data structure identified by pParam2 contains a constant specifying the device capabilities to be queried.

        The following list of items can be used regardless of the type of device:

        MCI_GETDEVCAPS_CAN_EJECT

          Returns MCI_TRUE if the device can eject its media; otherwise, it returns MCI_FALSE.
        MCI_GETDEVCAPS_CAN_LOCKEJECT
          Returns MCI_TRUE if the device can disable the manual ejection of its media; otherwise, it returns MCI_FALSE.
        MCI_GETDEVCAPS_CAN_PLAY
          Returns MCI_TRUE if the device can play its media; otherwise, it returns MCI_FALSE. If the device returns MCI_TRUE, the device supports MCI_PLAY, MCI_PAUSE, MCI_RESUME, and MCI_STOP.
        MCI_GETDEVCAPS_CAN_PROCESS_INTERNAL
          Returns MCI_TRUE if the device can internally process digital data such as a CD Digital Audio drive with a built-in digital-to-analog converter (DAC); otherwise, it returns MCI_FALSE.
        MCI_GETDEVCAPS_CAN_RECORD
          Returns MCI_TRUE if the device can record its media; otherwise, it returns MCI_FALSE. If MCI_TRUE is returned, the device supports MCI_RECORD.
        MCI_GETDEVCAPS_CAN_RECORD_INSERT
          Returns MCI_TRUE if the device supports insertion of data while recording; otherwise, it returns MCI_FALSE.
        MCI_GETDEVCAPS_CAN_SAVE
          Returns MCI_TRUE if the device can save files; otherwise, it returns MCI_FALSE. If a device returns TRUE, the MCI_SAVE command must be issued to save changes in the media file.
        MCI_GETDEVCAPS_CAN_SETVOLUME
          Returns MCI_TRUE if the device can change the audio volume level; otherwise, it returns MCI_FALSE.
        MCI_GETDEVCAPS_CAN_STREAM
          Returns MCI_TRUE if the device can stream digital data continuously to or from memory; otherwise, it returns MCI_FALSE. The source or destination of the data transfer is determined by the device instance connection.
        MCI_GETDEVCAPS_DEVICE_TYPE
          Returns the constant defined for this particular device type.
        MCI_GETDEVCAPS_HAS_AUDIO
          Returns MCI_TRUE if the device is capable of playing audio; otherwise, it returns MCI_FALSE.
        MCI_GETDEVCAPS_HAS_IMAGE
          Returns MCI_TRUE if the device supports a still image in its device instance; otherwise, it returns MCI_FALSE.
        MCI_GETDEVCAPS_HAS_VIDEO
          Returns MCI_TRUE if the device is capable of playing video; otherwise, it returns MCI_FALSE.
        MCI_GETDEVCAPS_PREROLL_TIME
          Returns a deterministic or maximum notified preroll time in MMTIME units (regardless of the currently set time base for the device). A value of 0 for the maximum notified preroll time indicates that an upper boundary to the preroll time is not known.
        MCI_GETDEVCAPS_PREROLL_TYPE
          Returns MCI_PREROLL_NONE.
        MCI_GETDEVCAPS_USES_FILES
          Returns MCI_TRUE if the device requires a file name or playlist pointer; otherwise, it returns MCI_FALSE.
        Amplifier Mixer Extensions

        If the MCI_GETDEVCAPS_EXTENDED flag is specified, the following flags can be placed in the ulAttribute field of MCI_AMP_GETDEVCAPS_PARMS. The ulExtended field of the MCI_AMP_GETDEVCAPS_PARMS structure must contain MCI_MIXER_LINE if the MCI_GETDEVCAPS_EXTENDED flag is specified.

        MCI_AMP_CAN_SET_TREBLE

          This flag allows an application to determine whether treble settings are supported.
        MCI_AMP_CAN_SET_MID
          This flag allows an application to determine whether mid settings are supported.
        MCI_AMP_CAN_SET_BASS
          This flag allows an application to determine whether bass settings are supported.
        MCI_AMP_CAN_SET_BALANCE
          This flag allows an application to determine whether balance settings are supported.
        MCI_AMP_CAN_SET_GAIN
          This flag allows an application to determine whether gain settings are supported.
        MCI_AMP_CAN_SET_VOLUME
          This flag allows an application to determine whether volume settings are supported.
        MCI_AMP_CAN_SET_MONITOR
          This flag allows an application to determine whether monitor settings are supported.
        MCI_AMP_CAN_SET_PITCH
          This flag allows an application to determine whether pitch settings are supported.
        MCI_AMP_CAN_SET_LOUDNESS
          This flag allows an application to determine whether loudness settings are supported.
        MCI_AMP_CAN_SET_CROSSOVER
          This flag allows an application to determine whether crossover settings are supported.
        MCI_AMP_CAN_SET_REVERB
          This flag allows an application to determine whether reverb settings are supported.
        MCI_AMP_CAN_SET_ALC
          This flag allows an application to determine whether auto-level controls are supported.
        MCI_AMP_CAN_SET_CHORUS
          This flag allows an application to determine whether chorus controls are supported.
        MCI_AMP_CAN_SET_CUSTOM1
          This flag allows an application to determine whether a custom effect is supported.
        MCI_AMP_CAN_SET_CUSTOM2
          This flag allows an application to determine whether a custom effect is supported.
        MCI_AMP_CAN_SET_CUSTOM3
          This flag allows an application to determine whether a custom effect is supported.
        MCI_AMP_CAN_SET_MUTE
          This flag allows an application to determine whether mute settings are supported.
        MCI_AMP_CAN_SET_STEREOENHANCE
          This flag allows an application to determine whether stereo enhance settings are supported.
        Digital Video Extensions

        The following additional items apply to digital video devices:

        MCI_DGV_GETDEVCAPS_CAN_DISTORT

          Returns MCI_TRUE if the device can distort the image independently in horizontal and vertical dimensions; otherwise, it returns MCI_FALSE. Returns MCI_FALSE for most frame-grabber types of hardware, but some hardware (such as Video Blaster) is capable of performing independent scaling in the horizontal and vertical directions and returns MCI_TRUE.
        MCI_DGV_GETDEVCAPS_CAN_REVERSE
          Returns MCI_TRUE if the device can play in reverse; otherwise, it returns MCI_FALSE.
        MCI_DGV_GETDEVCAPS_CAN_STRETCH
          Returns MCI_TRUE if the device can stretch the image to fill the frame; otherwise, it returns MCI_FALSE. Returns MCI_FALSE for most frame-grabber types of hardware, but some hardware (such as Video Blaster) is capable of performing scaling and returns MCI_TRUE.
        MCI_DGV_GETDEVCAPS_FAST_RATE
          Returns the standard fast playback rate (twice the recorded playback rate) in the current speed format, either as a percentage or in frames per second. Returns the normal play rate if the device cannot play fast.
        MCI_DGV_GETDEVCAPS_SLOW_RATE
          Returns the standard slow playback rate (half the recorded playback rate) in the current speed format, either as a percentage or in frames per second. Returns the normal play rate if the device cannot play at the slow playback rate.
        MCI_DGV_GETDEVCAPS_NORMAL_RATE
          Returns the recorded playback rate in the current speed format, either as a percentage or in frames per second.
        MCI_DGV_GETDEVCAPS_VIDEO_X_EXTENT
          Returns the nominal horizontal (X) extent of the digital motion video image.
        MCI_DGV_GETDEVCAPS_VIDEO_Y_EXTENT
          Returns the nominal vertical (Y) extent of the digital motion video image.
        MCI_DGV_GETDEVCAPS_IMAGE_X_EXTENT
          Returns the nominal horizontal (X) extent of images, if applicable.
        MCI_DGV_GETDEVCAPS_IMAGE_Y_EXTENT
          Returns the nominal vertical (Y) extent of images, if applicable.
        MCI_DGV_GETDEVCAPS_OVERLAY_GRAPHICS
          Returns MCI_TRUE if the device supports overlaying video with application-generated graphics, otherwise returns MCI_FALSE. Overlay cards such as Video Blaster enable graphics overlay of the hardware monitor window, however, overlay is not supported over video playback in the graphics buffer.
        MCI_DGV_GETDEVCAPS_HAS_TUNER
          Returns MCI_TRUE if the device has TV tuner capabilities.
        Videodisc Extensions

        The following additional item values apply to videodisc devices:

        MCI_VD_GETDEVCAPS_CAN_REVERSE

          Returns MCI_TRUE if the videodisc player can play in reverse; otherwise, it returns MCI_FALSE. Some players can play CLV discs in reverse as well as CAV discs.
        MCI_VD_GETDEVCAPS_FAST_RATE
          Returns the standard fast play rate in the current speed format, either as a percentage or in frames per second. Returns the normal play rate if the device cannot play at the fast play rate.
        MCI_VD_GETDEVCAPS_SLOW_RATE
          Returns the standard slow play rate in the current speed format, either as a percentage or in frames per second. Returns the normal play rate if the device cannot play at the slow play rate.
        MCI_VD_GETDEVCAPS_NORMAL_RATE
          Returns the normal rate of play in frames per second.
        MCI_VD_GETDEVCAPS_MAXIMUM_RATE
          Returns the maximum play rate in the current speed format, either as a percentage or in frames per second.
        MCI_VD_GETDEVCAPS_MINIMUM_RATE
          Returns the minimum play rate in the current speed format, either as a percentage or in frames per second. The minimum play rate is the slowest playback rate the device is capable of other than a paused or stopped state, that is, non-zero.
        MCI_VD_GETDEVCAPS_CLV
          Specifies that the requested capability information is relative to constant linear velocity (CLV) formatted discs.
        MCI_VD_GETDEVCAPS_CAV
          Specifies that the requested capability information is relative to constant angular velocity (CAV) formatted discs. This is the default.
        Video Overlay Extensions

        The following additional items apply to video overlay devices:

        MCI_OVLY_GETDEVCAPS_CAN_DISTORT

          Returns MCI_TRUE if the device can stretch the image independently in horizontal and vertical dimensions; otherwise, it returns MCI_FALSE.
        MCI_OVLY_GETDEVCAPS_CAN_FREEZE
          Returns MCI_TRUE if the device can freeze the image; otherwise, it returns MCI_FALSE.
        MCI_OVLY_GETDEVCAPS_CAN_STRETCH
          Returns MCI_TRUE if the device can stretch or shrink the image to fill the frame; otherwise, it returns MCI_FALSE.
        MCI_OVLY_GETDEVCAPS_VIDEO_X_EXTENT
          Returns the nominal horizontal (X) extent of the video source. Returns 706 for both NTSC and PAL video.
        MCI_OVLY_GETDEVCAPS_VIDEO_Y_EXTENT
          Returns the nominal vertical (Y) extent of the video source. Returns 484 for NTSC video or 564 for PAL video.
        MCI_OVLY_GETDEVCAPS_IMAGE_X_EXTENT
          Returns the nominal horizontal (X) extent of images for the device. Returns 640.
        MCI_OVLY_GETDEVCAPS_IMAGE_Y_EXTENT
          Returns the nominal vertical (Y) extent of images for the device. Returns 480.
        MCI_OVLY_GETDEVCAPS_OVERLAY_GRAPHICS
          Returns MCI_TRUE if the device supports overlaying video with application-generated graphics; otherwise, it returns MCI_FALSE.
        MCI_OVLY_GETDEVCAPS_MAX_WINDOWS
          Returns the maximum number of windows that the device can handle concurrently. Returns 10.
        Waveform Audio Extensions

        If the MCI_GETDEVCAPS_EXTENDED flag is specified, the following flags can be placed in the ulItem field of the MCI_WAVE_GETDEVCAPS_PARMS data structure for the waveaudio device.

        MCI_GETDEVCAPS_WAVE_FORMAT

          This flag allows an application to determine whether a specific waveaudio format is supported. The application must fill in the ulBitsPerSample, ulFormatTag, ulSamplesPerSec, ulChannels, and ulFormatMode fields in the MCI_WAVE_GETDEVCAPS_PARMS structure. If the format is supported, the driver returns MCI_TRUE. If the format is not supported, the driver returns a return code that indicates why the command failed.


        [Back] [Next]