Bewerken

Delen via


PCAM_CONFIGURE_ROUTINE callback function (usbcamdi.h)

[CamConfigure is not supported and may be altered or unavailable in the future. Instead, use CamConfigureEx. ]

A camera minidriver's CamConfigure callback function configures the isochronous streaming interface.

Syntax

PCAM_CONFIGURE_ROUTINE PcamConfigureRoutine;

NTSTATUS PcamConfigureRoutine(
  PDEVICE_OBJECT BusDeviceObject,
  PVOID DeviceContext,
  PUSBD_INTERFACE_INFORMATION Interface,
  PUSB_CONFIGURATION_DESCRIPTOR ConfigurationDescriptor,
  PLONG DataPipeIndex,
  PLONG SyncPipeIndex
)
{...}

Parameters

BusDeviceObject

Pointer to the camera minidriver's device object created by the USB hub.

DeviceContext

Pointer to the camera minidriver's device context.

Interface

Pointer to a USBD_INTERFACE_INFORMATION structure initialized with the proper values for a SELECT_INTERFACE URB request. This interface structure corresponds to a single isochronous interface on the device.

ConfigurationDescriptor

Pointer to an initialized USB_CONFIGURATION_DESCRIPTOR for this device.

DataPipeIndex

Pointer to a value that indicates the index of the data pipe. The camera minidriver should fill in this value before returning.

SyncPipeIndex

Pointer to a value that indicates the index of the sync pipe, if one is needed. The camera minidriver should fill in this value before returning.

Return value

CamConfigure returns STATUS_SUCCESS or an appropriate error code.

Remarks

Camera minidrivers that must maintain backward compatibility with the original USBCAMD must use the USBCAMD_DEVICE_DATA structure and its associated callback functions (that is, callback functions that do not contain the "Ex" suffix).

USBCAMD calls the camera minidriver's CamConfigure callback function to configure the isochronous streaming interface. After this function returns, USBCAMD can be notified of which interface and which alternate setting within the USB video streaming interface to use for the idle state.

This function is required.

Requirements

Requirement Value
Target Platform Desktop
Header usbcamdi.h (include Usbcamdi.h)

See also

CamConfigureEx

USBD_INTERFACE_INFORMATION

USB_CONFIGURATION_DESCRIPTOR