Microsoft DirectX 9.0

IAMExtDevice::GetCapability

The GetCapability method retrieves the capabilities of the external device.

Syntax

HRESULT GetCapability(
  long Capability,
  long *pValue,
  double *pdblValue
);

Parameters

Capability

[in]  Specifies the capability to check. See Remarks for more information.

pValue

[out]  Pointer to a variable that receives a long integer. See Remarks for more information.

pdblValue

[out]  Pointer to a variable that receives a double. See Remarks for more information.

Return Values

When this method succeeds, it returns S_OK. Otherwise it returns an HRESULT error code.

Remarks

The Capability parameter is a flag that specifies which capability to check. The method returns the result either in the pValue parameter or in the pdblValue parameter, depending on the capability flag.

For the following flags, the method returns the value OATRUE or OAFALSE in the pValue parameter. The value OATRUE indicates that the capability is present, while the value OAFALSE indicates it is absent.

Capability flag Description
ED_DEVCAP_AUDIO_INPUTS Device accepts audio input.
ED_DEVCAP_CAN_MONITOR_SOURCES Device can send any input to the monitored output, regardless of the input that is currently selected.
ED_DEVCAP_CAN_PREVIEW Device can preview.
ED_DEVCAP_CAN_RECORD Device can record.
ED_DEVCAP_CAN_RECORD_STROBE Device can strobe record. This capability applies to multitrack devices that can record to selected tracks.
ED_DEVCAP_CAN_SAVE Device can save data.
ED_DEVCAP_CTLTRK_READ Device can read control tracks.
ED_DEVCAP_HAS_AUDIO Device has audio.
ED_DEVCAP_HAS_VIDEO Device has video.
ED_DEVCAP_INDEX_READ Device can read index marks.
ED_DEVCAP_NEEDS_CALIBRATING Device needs calibrating. See IAMExtDevice::Calibrate.
ED_DEVCAP_TIMECODE_READ Device can read SMPTE time code.
ED_DEVCAP_TIMECODE_WRITE Device can set SMPTE time code.
ED_DEVCAP_USES_FILES Device has a built-in file system.
ED_DEVCAP_VIDEO_INPUTS Device accepts video input.

For the following flags, the method returns a defined constant in the pValue parameter.

Returned Constant Description
ED_DEVTYPE_ATR Audio tape recorder
ED_DEVTYPE_CG Character generator
ED_DEVTYPE_DDR Digital disk recorder
ED_DEVTYPE_DVE Digital video effects unit
ED_DEVTYPE_GPI General purpose interface trigger
ED_DEVTYPE_KEYER Video keyer
ED_DEVTYPE_LASERDISK Laserdisc
ED_DEVTYPE_MIXER_AUDIO Audio mixer
ED_DEVTYPE_MIXER_VIDEO Video mixer
ED_DEVTYPE_ROUTER Video router
ED_DEVTYPE_TBC Timebase corrector
ED_DEVTYPE_TCG Timecode generator/reader
ED_DEVTYPE_VCR VCR, or camcorder with full VCR capabilities
ED_DEVTYPE_WIPEGEN Video wipe generator
ED_DEVTYPE_JOYSTICK Joystick
ED_DEVTYPE_KEYBOARD Keyboard

Returned Constant Description
ED_SYNCACC_PRECISE Device has precise accuracy.
ED_SYNCACC_FRAME Device is frame accurate.
ED_SYNCACC_ROUGH Device is less than frame accurate.

Returned Constant Description
ED_RATE_24 24 frames per second (fps)
ED_RATE_25 25 fps
ED_RATE_2997 29.997 fps
ED_RATE_30 30 fps

Returned Constant Description
ED_SEEK_PERFECT Device can seek within one video frame without a signal break.
ED_SEEK_FAST Device can seek quickly, with a short break in the signal.
ED_SEEK_SLOW Device seeks slowly; such as tape transport.

For the following flags, the method returns a numeric value in the pValue parameter.

Capability Flag Returned Value
ED_DEVCAP_EXTERNAL_DEVICE_ID Manufacturer-specific identifier.
ED_DEVCAP_PREROLL Device preroll time.
ED_DEVCAP_POSTROLL Device postroll time.

DV Implementation

MSDV supports the following behaviors.

Returned Constant Description
ED_DEVTYPE_CAMERA Simple camera that can record or pause-record, but lacks full VCR capabilities.
ED_DEVTYPE_DVHS Device supports D-VHS format.
ED_DEVTYPE_UNKNOWN Unknown device type.
ED_DEVTYPE_VCR Device has full VCR capabilities.

Returned Constant Description
ED_RATE_25 25 fps (default NTSC frame rate)
ED_RATE_2997 29.997 fps (default PAL frame rate)

See Also