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 di intersect. Questo valore viene fornito dal driver subunit (se il driver subunit fornisce il gestore interseca) o dal driver inferiore che fornisce il gestore di intersect.
[in] PinId
Specifica l'offset (o ID) del segnaposto per il quale viene eseguita l'intersezione.
[in] DataRange
[in] MatchingDataRange
[in] DataBufferSize
Dimensione del buffer passato dal membro dati. Se si tratta di un valore diverso da zero, il gestore interseca deve tentare di restituire il formato di dati risultante da una coppia corrispondente di intervalli di dati. Se è pari a zero, il gestore di intersect deve fornire le dimensioni del buffer necessarie in ReportedDataSizee restituire STATUS_BUFFER_OVERFLOW.
[out, optional] Data
Buffer facoltativo per ricevere il formato di dati risultante da una coppia di intervalli di dati corrispondente. Questo membro viene ignorato se DataBufferSize è zero.
[out] DataSize
Valore restituito
Il gestore di 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 | Si è verificato un errore di mancata corrispondenza delle dimensioni del formato imprevisto. |
STATUS_BUFFER_OVERFLOW | Il gestore di intersect restituisce le dimensioni del buffer necessarie tramite il membro ReportedDataSize. |
STATUS_BUFFER_TOO_SMALL | Il gestore di intersect non è stato fornito con un buffer sufficientemente grande da contenere il formato risultante. Il gestore di intersect deve essere chiamato di nuovo con il DataBufferSize impostato su zero per determinare le dimensioni del buffer necessarie. |
STATUS_INSUFFICIENT_RESOURCES | Un'allocazione interna del buffer non è riuscita. |
Osservazioni
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 è corrispondere a formati di dati pin identici e restituirli al chiamante.
Fabbisogno
Requisito | Valore |
---|---|
piattaforma di destinazione | Desktop |
intestazione | avc.h (include Avc.h) |