VideoPortQueryServices function (video.h)

The VideoPortQueryServices function exposes a specified interface that is implemented by the video port driver.

Syntax

VIDEOPORT_API VP_STATUS VideoPortQueryServices(
  [in]      IN PVOID               HwDeviceExtension,
  [in]      IN VIDEO_PORT_SERVICES ServicesType,
  [in, out] IN OUT PINTERFACE      Interface
);

Parameters

[in] HwDeviceExtension

Pointer to the miniport driver's device extension.

[in] ServicesType

A value from the VIDEO_PORT_SERVICES enumerated type that specifies which interface is being requested.

[in, out] Interface

Pointer to an INTERFACE structure, which contains basic information about the requested interface. See the following Remarks section for more information.

Return value

If VideoPortQueryServices succeeds, it returns NO_ERROR; otherwise, it returns an error code.

Remarks

If the ServicesType parameter is set to VideoPortServicesI2C, the Interface parameter must be a pointer to a VIDEO_PORT_I2C_INTERFACE structure, cast as a pointer to an INTERFACE structure.

Similarly, if the ServicesType parameter is set to VideoPortServicesAGP, the Interface parameter must be a pointer to either a VIDEO_PORT_AGP_INTERFACE structure, or a VIDEO_PORT_AGP_INTERFACE_2 structure, each cast as a pointer to an INTERFACE structure.

The VIDEO_PORT_AGP_INTERFACE and VIDEO_PORT_AGP_INTERFACE_2 structures are nearly identical, except that the latter structure has a member that points to the AgpSetRate function, which is used to reset the transfer rate for an AGP chipset. A video miniport driver querying AGP support should call VideoPortQueryServices first with Interface pointing to a VIDEO_PORT_AGP_INTERFACE_2 structure. If that call fails, the miniport driver can then make another call to VideoPortQueryServices, this time with Interface pointing to a VIDEO_PORT_AGP_INTERFACE structure.

If the ServicesType parameter is set to VideoPortServicesInt10, the Interface parameter must be a pointer to a VIDEO_PORT_INT10_INTERFACE structure, cast as a pointer to an INTERFACE structure.

If the ServicesType parameter is set to VideoPortServicesDebugReport, the Interface parameter must be a pointer to a VIDEO_PORT_DEBUG_REPORT_INTERFACE structure, cast as a pointer to an INTERFACE structure.

If the ServicesType parameter is set to VideoPortServicesWCMemoryProtection, the Interface parameter must be a pointer to a VIDEO_PORT_WCMEMORYPROTECTION_INTERFACE structure, cast as a pointer to an INTERFACE structure.

Requirements

Requirement Value
Minimum supported client Available in Windows XP and later versions of the Windows operating systems.
Target Platform Desktop
Header video.h (include Video.h)
Library Videoprt.lib
DLL Videoprt.sys
IRQL PASSIVE_LEVEL

See also

AgpSetRate

INTERFACE

VIDEO_PORT_AGP_INTERFACE

VIDEO_PORT_AGP_INTERFACE_2

VIDEO_PORT_DEBUG_REPORT_INTERFACE

VIDEO_PORT_I2C_INTERFACE

VIDEO_PORT_INT10_INTERFACE

VIDEO_PORT_WCMEMORYPROTECTION_INTERFACE