Funzione KsPinDataIntersectionEx (ks.h)
La funzione KsPinDataIntersectionEx gestisce il KSPROPERTY_PIN_DATAINTERSECTION tramite una funzione di callback.
Sintassi
KSDDKAPI NTSTATUS KsPinDataIntersectionEx(
[in] PIRP Irp,
[in] PKSP_PIN Pin,
[out] PVOID Data,
[in] ULONG DescriptorsCount,
[in] const KSPIN_DESCRIPTOR *Descriptor,
[in] ULONG DescriptorSize,
[in, optional] PFNKSINTERSECTHANDLEREX IntersectHandler,
[in, optional] PVOID HandlerContext
);
Parametri
[in] Irp
Specifica l'IRP che descrive la richiesta di proprietà.
[in] Pin
Specifica la proprietà specifica su cui viene eseguita una query.
[out] Data
Specifica i dati specifici della proprietà pin.
[in] DescriptorsCount
Specifica il numero di strutture del descrittore.
[in] Descriptor
Specifica il puntatore all'elenco di strutture di informazioni di aggiunta.
[in] DescriptorSize
Dimensioni delle strutture del descrittore, in byte.
[in, optional] IntersectHandler
Contiene il minidriver facoltativo definito KStrIntersectHandlerEx funzione di callback per confrontare gli intervalli di dati.
[in, optional] HandlerContext
Contesto facoltativo fornito al gestore.
Valore restituito
Restituisce STATUS_SUCCESS; in caso contrario, un errore specifico della proprietà gestita.
Osservazioni
KsPinDataIntersectionEx è molto simile a KsPinDataIntersection, ad eccezione di alcune delle lievi differenze seguenti:
- In KsPinDataIntersectionExviene passata la dimensione del descrittore, una funzionalità che consente descrittori estesi.
- La funzione di callback di intersezione dati viene creata in modo diverso nella versione estesa (callback NTSTATUS (Context, Irp, Pin, DataRange, MatchingDataRange, DataBufferSize, Data, DataSize)) rispetto a KsPinDataIntersection (callback NTSTATUS (Irp, Pin, DataRange, Data)).
- La lunghezza del buffer di output (Data) viene passata come parametro alla funzione di callback di intersezione dati (DataBufferSize) anziché essere estratta dal percorso dello stack di I/O corrente.
- Alla funzione di callback di intersezione dei dati viene passato un parametro di Context (lo stesso parametro Context passato a KsPinDataIntersectionEx).
- Le dimensioni del formato risultante vengono restituite in DataSize invece di Irp->IoStatus.Information.
Fabbisogno
Requisito | Valore |
---|---|
piattaforma di destinazione | Desktop |
intestazione | ks.h (include Ks.h) |