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

RIOCreateCompletionQueue

RIONotify

RIO_CQ

RIO_NOTIFICATION_COMPLETION