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) |