Función de devolución de llamada PFNAVCINTERSECTHANDLER (avc.h)

El controlador de intersección de AV/C determina si los intervalos de datos son compatibles. Se trata de una función definida por el usuario basada en el siguiente prototipo:

Sintaxis

typedef NTSTATUS ( *PFNAVCINTERSECTHANDLER)(
  _In_      PVOID        Context,
  _In_      ULONG        PinId,
  _In_      PKSDATARANGE CallerDataRange,
  _In_      PKSDATARANGE DescriptorDataRange,
  _In_      ULONG        DataBufferSize,
  _Out_opt_ PVOID        Data,
  _Out_     PULONG       ReportedDataSize
);

Parámetros

[in] Context

Valor opcional esperado por el controlador intersect. Este valor lo proporciona el controlador de subbúnit (si el controlador de subbúnit proporciona el controlador intersect) o el controlador inferior que proporciona el controlador intersect.

[in] PinId

Especifica el desplazamiento (o identificador) del pin para el que se realiza la intersección.

[in] DataRange

[in] MatchingDataRange

[in] DataBufferSize

Tamaño del búfer pasado por el miembro Data . Si es distinto de cero, el controlador de intersección debe intentar devolver el formato de datos resultante de un par coincidente de intervalos de datos. Si es cero, el controlador de intersección debe proporcionar el tamaño de búfer necesario en ReportedDataSize y devolver STATUS_BUFFER_OVERFLOW.

[out, optional] Data

Un búfer opcional para recibir el formato de datos resultante de un par coincidente de intervalos de datos. Este miembro se omite si DataBufferSize es cero.

[out] DataSize

Valor devuelto

El controlador de intersección debe devolver STATUS_SUCCESS si los intervalos de datos son compatibles y había suficiente espacio en búfer para devolver el formato resultante.

Código devuelto Descripción
STATUS_NO_MATCH Los intervalos de datos no son compatibles.
STATUS_INTERNAL_ERROR Error de coincidencia de tamaño de formato inesperado.
STATUS_BUFFER_OVERFLOW El controlador intersect devuelve el tamaño de búfer necesario a través del miembro ReportedDataSize .
STATUS_BUFFER_TOO_SMALL El controlador de intersección no se proporcionó con un búfer lo suficientemente grande como para contener el formato resultante. El controlador de intersección debe llamarse de nuevo con dataBufferSize establecido en cero para determinar el tamaño de búfer necesario.
STATUS_INSUFFICIENT_RESOURCES Error en la asignación de búfer interno.

Comentarios

El controlador de intersección de AV/C está definido por el usuario, en función del prototipo de función anterior.

El controlador se usa junto con el código de función AVC_FUNCTION_GET_PIN_DESCRIPTOR . El propósito del controlador es coincidir con formatos de datos de patillas idénticos y devolverlos al autor de la llamada.

Requisitos

Requisito Value
Plataforma de destino Escritorio
Encabezado avc.h (incluya Avc.h)

Consulte también