Condividi tramite


Funzione KsPinDataIntersection (ks.h)

La funzione KsPinDataIntersection gestisce la proprietà KSPROPERTY_PIN_DATAINTERSECTION tramite una funzione di callback ed esegue gran parte della convalida iniziale dei parametri passati. KsPinDataIntersection chiama la funzione di callback KStrIntersectHandler definita dal minidriver con ogni intervallo di dati potenziale dopo averla corrispondente all'elenco degli intervalli di dati assegnati a tale pin factory.

Sintassi

KSDDKAPI NTSTATUS KsPinDataIntersection(
  [in]            PIRP                   Irp,
  [in]            PKSP_PIN               Pin,
  [out, optional] PVOID                  Data,
  [in]            ULONG                  DescriptorsCount,
  [in]            const KSPIN_DESCRIPTOR *Descriptor,
  [in]            PFNKSINTERSECTHANDLER  IntersectHandler
);

Parametri

[in] Irp

Specifica l'IRP che descrive la richiesta di proprietà.

[in] Pin

Specifica la proprietà specifica che viene eseguita una query.

[out, optional] Data

Specifica i dati specifici della proprietà pin.

[in] DescriptorsCount

Specifica il numero di strutture descrittori.

[in] Descriptor

Specifica il puntatore all'elenco delle strutture di informazioni di aggiunta.

[in] IntersectHandler

Specifica la funzione di callback KStrIntersectHandler definita dal minidriver per confrontare un intervallo di dati.

Valore restituito

La funzione KsPinDataIntersection restituisce STATUS_SUCCESS se viene trovato un intervallo corrispondente, STATUS_NO_MATCH se non è stato trovato alcun intervallo corrispondente o un errore specifico della proprietà gestita. Il gestore di intersezione KStrIntersectHandler definito dal minidriver fornito a KsPinDataIntersection viene chiamato con ogni intervallo di dati fornito dal chiamante fino a quando non viene trovata una corrispondenza o un errore.

Si noti che la funzione di callback KStrIntersectHandler definita dal minidriver ha il proprio set di valori restituiti.

Commenti

Una corrispondenza può verificarsi in tre condizioni: se il formato principale dell'intervallo passato è un carattere jolly o corrisponde a un intervallo di pin factory, se il sottoformato è un carattere jolly o corrispondenze e se l'identificatore è un carattere jolly o corrispondenze. Poiché la dimensione dell'intervallo di dati può essere variabile, non viene convalidata oltre a verificare che sia almeno la dimensione di una struttura KSDATARANGE .

Requisiti

Requisito Valore
Piattaforma di destinazione Universale
Intestazione ks.h (include Ks.h)
Libreria Ks.lib

Vedi anche

KSDATARANGE

KStrIntersectHandler