Condividi tramite


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 usa 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 di immissione di eventi 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 noncurring, 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 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 o 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.

Osservazioni

Si presuppone che il blocco dell'elenco eventi sia stato acquisito prima che venga chiamata questa funzione. Questa funzione può generare una chiamata al 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 tale livello di runtime di integrazione.

Questa funzione è specificamente per gli eventi che passano di nuovo i dati attraverso un callback a un client.

Fabbisogno

Requisito Valore
piattaforma di destinazione Universale
intestazione ks.h (include Ks.h)
libreria Ks.lib

Vedere anche

KSBUFFER_ITEM