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