Condividi tramite


Funzione di callback PFNAVCINTERSECTHANDLER (avc.h)

Il gestore interseca AV/C determina se gli intervalli di dati sono compatibili. Si tratta di una funzione definita dall'utente basata sul prototipo seguente:

Sintassi

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

Parametri

[in] Context

Valore facoltativo previsto dal gestore intersect. Questo valore viene fornito dal driver di subunit (se il driver di subunit fornisce il gestore intersect) o dal driver inferiore che fornisce il gestore intersect.

[in] PinId

Specifica l'offset (o ID) del segnaposto per il quale viene eseguita l'intersezione.

[in] DataRange

[in] MatchingDataRange

[in] DataBufferSize

Dimensioni del buffer passato dal membro Dati . Se questo è diverso da zero, il gestore intersect deve tentare di restituire il formato di dati risultante da una coppia di intervalli di dati corrispondente. Se questo è zero, il gestore intersect deve fornire le dimensioni del buffer necessarie in ReportedDataSize e restituire STATUS_BUFFER_OVERFLOW.

[out, optional] Data

Buffer facoltativo per ricevere il formato dati risultante da una coppia di intervalli di dati corrispondente. Questo membro viene ignorato se DataBufferSize è zero.

[out] DataSize

Valore restituito

Il gestore intersect deve restituire STATUS_SUCCESS se gli intervalli di dati sono compatibili e lo spazio del buffer è sufficiente per restituire il formato risultante.

Codice restituito Descrizione
STATUS_NO_MATCH Gli intervalli di dati non sono compatibili.
STATUS_INTERNAL_ERROR Mancata corrispondenza delle dimensioni del formato imprevisto.
STATUS_BUFFER_OVERFLOW Il gestore intersect restituisce le dimensioni del buffer necessarie tramite il membro ReportedDataSize .
STATUS_BUFFER_TOO_SMALL Il gestore intersect non è stato fornito con un buffer sufficientemente grande da contenere il formato risultante. Il gestore intersect deve essere chiamato di nuovo con DataBufferSize impostato su zero per determinare le dimensioni del buffer necessarie.
STATUS_INSUFFICIENT_RESOURCES Allocazione del buffer interna non riuscita.

Commenti

Il gestore intersect AV/C è definito dall'utente, in base al prototipo di funzione precedente.

Il gestore viene usato insieme al codice della funzione AVC_FUNCTION_GET_PIN_DESCRIPTOR . Lo scopo del gestore consiste nell'associare formati di dati pin identici e restituirli al chiamante.

Requisiti

Requisito Valore
Piattaforma di destinazione Desktop
Intestazione avc.h (include Avc.h)

Vedi anche