Compartir a través de


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 subbunit (si el controlador de subbúsita 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 de datos de. Si no es cero, el controlador intersect 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 ReportedDataSizey 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 de 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 Hubo un 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 intersect 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 el DataBufferSize establecido en cero para determinar el tamaño de búfer necesario.
STATUS_INSUFFICIENT_RESOURCES Error en la asignación de búfer interna.

Observaciones

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 Valor
de la plataforma de destino de Escritorio
encabezado de avc.h (include Avc.h)

Consulte también