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. |
Given the context, retrieves whether scaling at the video port is possible.
HRESULT IsVPDecimationAllowed(
AMVP_CONTEXT amvpContext,
LPBOOL pbIsDecimationAllowed
);
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. |
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.
Sets the factors by which the decoder should scale the video stream.
HRESULT SetScalingFactors(
LPAMVPSIZE pamvpSize
);
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. |
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.