RIO_NOTIFICATION_COMPLETION_TYPE-Enumeration (mswsock.h)
Die RIO_NOTIFICATION_COMPLETION_TYPE-Enumeration gibt den Typ der Vervollständigungswarteschlangenbenachrichtigungen an, die mit der RIONotify-Funktion beim Senden oder Empfangen von Daten mithilfe der registrierten Winsock-E/A-Erweiterungen verwendet werden sollen.
Syntax
typedef enum _RIO_NOTIFICATION_COMPLETION_TYPE {
RIO_EVENT_COMPLETION = 1,
RIO_IOCP_COMPLETION = 2
} RIO_NOTIFICATION_COMPLETION_TYPE, *PRIO_NOTIFICATION_COMPLETION_TYPE;
Konstanten
RIO_EVENT_COMPLETION Wert: 1 Ein Ereignishandle wird verwendet, um Vervollständigungswarteschlangenbenachrichtigungen zu signalisieren. Ein Ereignishandle wird als EventNotify.EventHandle-Member in der RIO_NOTIFICATION_COMPLETION-Struktur bereitgestellt, die beim Erstellen des RIO_CQ an die RIOCreateCompletionQueue-Funktion übergeben wird. Die Vervollständigung der RIONotify-Funktion für diese RIO_CQ signalisiert das Ereignis. Das Event.NotifyReset-Element in der RIO_NOTIFICATION_COMPLETION-Struktur , das an die RIOCreateCompletionQueue-Funktion übergeben wurde, wenn die RIO_CQ erstellt wird, gibt an, ob das Ereignis im Rahmen eines Aufrufs der RIONotify-Funktion zurückgesetzt werden soll oder nicht. |
RIO_IOCP_COMPLETION Wert: 2 Ein E/A-Vervollständigungsporthandle wird verwendet, um Vervollständigungswarteschlangenbenachrichtigungen zu signalisieren. Ein E/A-Vervollständigungsporthandle wird als Iocp.IocpHandle-Member in der RIO_NOTIFICATION_COMPLETION Struktur bereitgestellt, die beim Erstellen des RIO_CQ an die RIOCreateCompletionQueue-Funktion übergeben wird. Durch die Vervollständigung der RIONotify-Funktion für diese RIO_CQ wird ein Eintrag am E/A-Vervollständigungsport in die Warteschlange gestellt, der mithilfe der GetQueuedCompletionStatus- oder GetQueuedCompletionStatusEx-Funktion abgerufen werden kann. Für den in die Warteschlange eingereihten Eintrag wird der zurückgegebene lpCompletionKey-Parameterwert auf den wert festgelegt, der im Iocp.CompletionKey-Member des RIO_NOTIFICATION_COMPLETION angegeben ist, und der zurückgegebene lpOverlapped-Parameterwert auf den wert festgelegt ist, der im Element "Iocp.Overlapped " in RIO_NOTIFICATION_COMPLETION-Struktur angegeben ist. Der Iocp.Overlapped-Member im RIO_NOTIFICATION_COMPLETION ist ein Wert ohne NULL. |
Hinweise
Die RIO_NOTIFICATION_COMPLETION_TYPE-Enumeration wird mit den winsock-registrierten E/A-Erweiterungen verwendet, um den Typ der E/A-Vervollständigung anzugeben, die mit einem RIO_CQ verwendet werden soll. Ein Enumerationswert wird in der RIO_NOTIFICATION_COMPLETION-Struktur festgelegt, die an die RIOCreateCompletionQueue-Funktion übergeben wird, wenn die RIO_CQ erstellt wird.
Beim Erstellen eines RIO_CQ bestimmt die RIO_NOTIFICATION_COMPLETION-Struktur , wie die Anwendung Vervollständigungswarteschlangenbenachrichtigungen empfängt. Wenn die RIO_NOTIFICATION_COMPLETION-Struktur beim Erstellen der Vervollständigungswarteschlange bereitgestellt wird, kann die Anwendung die RIONotify-Funktion aufrufen, um eine Vervollständigungswarteschlangenbenachrichtigung anzufordern. Normalerweise tritt diese Benachrichtigung auf, wenn die Vervollständigungswarteschlange nicht leer ist. Dies kann sofort geschehen oder wenn der nächste Vervollständigungseintrag in die Vervollständigungswarteschlange eingefügt wird. Sobald eine Vervollständigungswarteschlangenbenachrichtigung ausgegeben wurde, muss die Anwendung RIONotify aufrufen, um eine weitere Vervollständigungswarteschlangenbenachrichtigung zu erhalten.
Für die Benachrichtigung der Vervollständigungswarteschlange stehen zwei Optionen zur Verfügung.
- Ereignishandles.
- E/A-Vervollständigungsports
Wenn das Type-Element der RIO_NOTIFICATION_COMPLETION-Struktur auf RIO_EVENT_COMPLETION festgelegt ist, wird ein Ereignishandle verwendet, um Vervollständigungswarteschlangenbenachrichtigungen zu signalisieren. Ein Ereignishandle wird als EventNotify.EventHandle-Member in der RIO_NOTIFICATION_COMPLETION-Struktur bereitgestellt, die an die RIOCreateCompletionQueue-Funktion übergeben wird.
Wenn das Element Typ der RIO_NOTIFICATION_COMPLETION-Struktur auf RIO_IOCP_COMPLETION festgelegt ist, wird ein E/A-Vervollständigungsport verwendet, um Vervollständigungswarteschlangenbenachrichtigungen zu signalisieren. Ein E/A-Vervollständigungsporthandle wird als Iocp.IocpHandle-Member in der RIO_NOTIFICATION_COMPLETION-Struktur bereitgestellt, die an die RIOCreateCompletionQueue-Funktion übergeben wird. Durch die Vervollständigung der RIONotify-Funktion für diese RIO_CQ wird ein Eintrag am E/A-Vervollständigungsport in die Warteschlange gestellt, der mithilfe der GetQueuedCompletionStatus- oder GetQueuedCompletionStatusEx-Funktion abgerufen werden kann.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 8 [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2012 [nur Desktop-Apps] |
Kopfzeile | mswsock.h |
Weitere Informationen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für