Freigeben über


KsGenerateDataEvent-Funktion (ks.h)

Die KsGenerateDataEvent-Funktion generiert eine der Standardereignisbenachrichtigungen, wenn eine Ereigniseintragsstruktur und Rückrufdaten angegeben werden. Dadurch kann ein Gerät bestimmen, wann Ereignisbenachrichtigungen generiert werden sollen, aber dennoch diese Hilfsfunktion verwenden, um die tatsächliche Benachrichtigung auszuführen.

Syntax

KSDDKAPI NTSTATUS KsGenerateDataEvent(
  [in] PKSEVENT_ENTRY EventEntry,
  [in] ULONG          DataSize,
  [in] PVOID          Data
);

Parameter

[in] EventEntry

Gibt die Ereigniseintragsstruktur an, die auf die Ereignisdaten verweist. Die Informationen werden verwendet, um zu bestimmen, welche Art von Benachrichtigung ausgeführt werden soll. Wenn der Benachrichtigungstyp keiner der vordefinierten Standards ist, wird ein Fehler zurückgegeben. Im Fall eines einzelnen, nicht wiederkehrenden Ereignisses ist dieser Eintrag ungültig, wenn er von der Funktion zurückgegeben wird. Daher muss jeder Code, der eine Liste von Ereignissen auflistet, vorab erhöhen, um das nächste Ereignis in der Liste zu erhalten, bevor dieses Ereignis an die Funktion übergeben wird.

[in] DataSize

Gibt die Größe des übergebenen Data-Parameters in Bytes an.

[in] Data

Verweist auf Daten, die an den Clientrückruf übergeben werden sollen. Diese Daten werden in einen der vorab zugewiesenen Pufferslots kopiert, die beim Aktivieren des Ereignisses eingerichtet wurden. Die Größe der Daten muss kleiner sein als die ursprünglich zugewiesenen Daten, sonst schlägt das Ereignis fehl.

Rückgabewert

Die KsGenerateDataEvent-Funktion gibt STATUS_SUCCESS zurück, wenn sie erfolgreich war oder wenn sie nicht erfolgreich ist, eine Ausnahme oder einen Speicherfehler zurückgibt.

Hinweise

Es wird davon ausgegangen, dass die Ereignislistensperre erworben wurde, bevor diese Funktion aufgerufen wird. Diese Funktion kann zu einem Aufruf des RemoveHandlers für den Ereigniseintrag führen. Daher darf die Funktion nicht höher als die IRQ-Ebene der Sperre aufgerufen werden, oder die Remove-Funktion muss in der Lage sein, den Aufruf auf einer solchen IRQ-Ebene zu verarbeiten.

Diese Funktion ist speziell für Ereignisse vorgesehen, die Daten über einen Rückruf an einen Client zurückgeben.

Anforderungen

Anforderung Wert
Zielplattform Universell
Header ks.h (einschließlich Ks.h)
Bibliothek Ks.lib

Weitere Informationen

KSBUFFER_ITEM