Funzione KsGenerateDataEvent (ks.h)
La funzione KsGenerateDataEvent genera una delle notifiche degli eventi standard quando viene fornita una struttura di immissione di eventi e dati di callback. Ciò consente a un dispositivo di determinare quando devono essere generate le notifiche degli eventi, ma usare ancora questa funzione helper per eseguire la notifica effettiva.
Sintassi
KSDDKAPI NTSTATUS KsGenerateDataEvent(
[in] PKSEVENT_ENTRY EventEntry,
[in] ULONG DataSize,
[in] PVOID Data
);
Parametri
[in] EventEntry
Specifica la struttura della voce di evento che fa riferimento ai dati dell'evento. Le informazioni vengono utilizzate per determinare il tipo di notifica da eseguire. Se il tipo di notifica non è uno degli standard predefiniti, viene restituito un errore. Nel caso di un singolo evento non ricorsiva, questa voce non sarà valida quando viene restituita dalla funzione. Pertanto, qualsiasi codice che enumera un elenco di eventi deve preincrementare per acquisire l'evento successivo nell'elenco prima di passare questo evento alla funzione.
[in] DataSize
Specifica le dimensioni in byte del parametro Data passato.
[in] Data
Punta ai dati da passare al callback del client. Questi dati vengono copiati in uno degli slot di buffer preallocati configurati quando l'evento è stato abilitato. Le dimensioni dei dati devono essere inferiori a quelle originariamente allocate oppure l'evento avrà esito negativo.
Valore restituito
La funzione KsGenerateDataEvent restituisce STATUS_SUCCESS in caso di esito positivo o se ha esito negativo restituisce un'eccezione o un errore di memoria.
Commenti
Si presuppone che il blocco dell'elenco eventi sia stato acquisito prima che venga chiamata questa funzione. Questa funzione può comportare una chiamata a RemoveHandler per la voce dell'evento. Pertanto, la funzione non deve essere chiamata a un livello superiore al livello IRQ del blocco oppure la funzione Remove deve essere in grado di gestire la chiamata a un livello IRQ di questo tipo.
Questa funzione è specificamente per gli eventi che passano di nuovo i dati tramite un callback a un client.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Universale |
Intestazione | ks.h (include Ks.h) |
Libreria | Ks.lib |