## IVPConfig Interface

IVPConfig enables a video port (VP) or overlay mixer filter to communicate with a VP driver (decoder), to set and retrieve configuration information. This interface assumes that the mixer filter creates the video port. This interface derives from IVPBaseConfig. See also IVPBaseNotify and IVPNotify.

When to Implement

The Windows Driver Model (WDM) Ksproxy filter implements this interface so you won't need to implement it in most cases. Implement this interface when you need this functionality on a platform that does not support WDM, or when you need to alter the default behavior.

When to Use

The Overlay Mixer filter uses this interface so you won't need to use it in most cases. Use this interface when you implement your own overlay mixer filter.

Methods in Vtable Order

IUnknown methods | Description
QueryInterface | Retrieves pointers to supported interfaces.
AddRef | Increments the reference count.
Release | Decrements the reference count.

IVPBaseConfig methods | Description
GetConnectInfo | Retrieves connection information structures.
SetConnectInfo | Sets the index for the current video port connection information.
GetVPDataInfo | Retrieves the current video port data information.
GetMaxPixelRate | Retrieves the maximum pixels per second rate for a given width and height.
InformVPInputFormats | Informs the device what video formats the video port supports.
GetVideoFormats | Retrieves the video formats the decoder supports.
SetVideoFormat | Sets the format that the video will use.
SetInvertPolarity | Reverses the current polarity the decoder uses.
GetOverlaySurface | Determines whether the overlay mixer should use the driver's overlay surface and if so retrieves a pointer to the surface.
SetDirectDrawKernelHandle | Sets the DirectDraw® kernel handle for the decoder's minidriver to use.
SetVideoPortID | Sets the port ID that the video will use.
SetDDSurfaceKernelHandle | Sets the kernel handle that the DirectDraw surface will use.
SetSurfaceParameters | Tells the capture driver about the surface created on its behalf by the Overlay Mixer or VBI surface filter.

IVPConfig methods | Description
IsVPDecimationAllowed | Given the context, retrieves whether scaling at the video port is possible.
SetScalingFactors | Sets the factors by which the decoder should scale the video stream.

###

IVPConfig::IsVPDecimationAllowed

IVPConfig Interface

Given the context, retrieves whether scaling at the video port is possible.

HRESULT IsVPDecimationAllowed(
AMVP_CONTEXT amvpContext,
LPBOOL pbIsDecimationAllowed
);

##### Parameters

amvpContext
  [in] Context (video or VBI) in which to query the VP decimation capability.
pbIsDecimationAllowed
  [out] Pointer to the retrieved value indicating whether decimation is allowed.

##### Return Values

Returns an HRESULT value that depends on the implementation of the interface. HRESULT can include one of the following standard constants, or other values not listed.

Value | Meaning
E_FAIL | Failure.
E_POINTER | NULL pointer argument.
E_INVALIDARG | Invalid argument.
E_NOTIMPL | Method is not supported.
NOERROR | No error.

##### Remarks

The Overlay Mixer filter uses this function to determine whether the driver needs the mixer to decimate video data at its own discretion. This function can be especially useful in a capture with preview situation in which you would not want the VP mixer filter to perform any scaling at the video port.

###

IVPConfig::SetScalingFactors

IVPConfig Interface

Sets the factors by which the decoder should scale the video stream.

HRESULT SetScalingFactors(
LPAMVPSIZE pamvpSize
);

##### Parameters

pamvpSize
  [in] Pointer to the new scaling size structure (AMVPSIZE) to use to specify the width and height.

##### Return Values

Returns an HRESULT value that depends on the implementation of the interface. HRESULT can include one of the following standard constants, or other values not listed.

Value | Meaning
E_FAIL | Failure.
E_POINTER | Null pointer argument.
E_INVALIDARG | Invalid argument.
NOERROR | The new scaling factors were set.

##### Remarks

If the decoder does not support the specified scaling factors, then it sets the values to the nearest factors it can support.

© 1997 Microsoft Corporation. All rights reserved. Terms of Use.