NDK_FN_SEND Rückruffunktion (ndkpi.h)
Die Funktion NdkSend (NDK_FN_SEND) sendet eine Sendeanforderung für ein NDK-Warteschlangenpaar (QP).
Syntax
NDK_FN_SEND NdkFnSend;
NTSTATUS NdkFnSend(
[in] NDK_QP *pNdkQp,
[in, optional] PVOID RequestContext,
const NDK_SGE *pSgl,
[in] ULONG nSge,
[in] ULONG Flags
)
{...}
Parameter
[in] pNdkQp
Ein Zeiger auf ein QP-Objekt (NDK-Warteschlangenpaar) (NDK_QP).
[in, optional] RequestContext
Ein Kontextwert, der im RequestContext-Member der NDK_RESULT-Struktur für diese Anforderung zurückgegeben werden soll.
pSgl
Ein Array von SGE-Strukturen (NDK_SGE), die die Puffer darstellen, die die zu sendenden Daten enthalten.
[in] nSge
Die Anzahl der SGE-Strukturen im Array, die im pSgl-Parameter angegeben ist.
[in] Flags
Ein bitweiser OR von Flags, der die zulässigen Vorgänge angibt. Die folgenden Flags werden unterstützt:
Wert | Bedeutung |
---|---|
|
Gibt an, dass der erfolgreiche Abschluss dieser Anforderung kein Vervollständigungsereignis in der Warteschlange für ausgehende Vervollständigung generiert. Bei Anforderungen, die fehlschlagen, wird jedoch ein Ereignis in der Vervollständigungswarteschlange generiert. |
|
Gibt an, dass alle vorherigen Leseanforderungen abgeschlossen sein müssen, bevor die Hardware mit der Verarbeitung dieser Anforderung beginnt. |
|
Gibt an, dass die Vervollständigungswarteschlange für den Peer eine Benachrichtigung generiert. Weitere Informationen zu NDK_OP_FLAG_SEND_AND_SOLICIT_EVENT finden Sie im Abschnitt Hinweise. |
|
Gibt an, dass der Speicher, auf den von den SGEs verwiesen wird, inline übertragen werden soll. Außerdem kann der MemoryRegionToken-Wert im NDK_SGE Einträgen ungültig sein. Inlineanforderungen müssen die Anzahl der Einträge in der SGE-Liste nicht auf den MaxInitiatorRequestSge-Wert beschränken, der beim Erstellen des Warteschlangenpaars angegeben wird. Die Inlinemenge des übertragenen Arbeitsspeichers muss innerhalb der Inlinedatengrenzwerte des Warteschlangenpaars sein. |
|
Gibt dem NDK-Anbieter an, dass er möglicherweise die Anforderung an die Hardware für die Verarbeitung zurückstellen kann. Weitere Informationen zu diesem Flag finden Sie unter NDKPI-Schema für verzögerte Verarbeitung.
Hinweis Dieses Flag wird nur in NDKPI 1.2 (Windows Server 2012 R2) und höher unterstützt. |
Rückgabewert
Die NdkSend-Funktion gibt einen der folgenden NTSTATUS-Codes zurück.
Rückgabecode | Beschreibung |
---|---|
|
Die Sendeanforderung wurde erfolgreich gesendet. Ein Vervollständigungseintrag wird in die Vervollständigungswarteschlange (CQ) eingereiht, wenn die Arbeitsanforderung abgeschlossen ist. |
|
Das Warteschlangenpaar (QP) ist nicht verbunden. |
|
Ein Fehler ist aufgetreten. |
Hinweise
NdkSend sendet eine Sendeanforderung für ein Warteschlangenpaar (QP).
Sie können das flag NDK_OP_FLAG_SEND_AND_SOLICIT_EVENT verwenden, wenn Sie mehrere verwandte Sendeanforderungen ausstellen. Legen Sie dieses Flag für die letzte Anforderung in der Gruppe der zugehörigen Sendeanforderungen fest.
Ein NDK-Consumer kann dieses Flag verwenden, wenn mehrere verwandte Sendeanforderungen ausgegeben werden. Der NDK-Consumer legt dieses Flag nur für die letzte zugehörige Sendeanforderung fest. Der Peer empfängt alle Sendeanforderungen wie gewohnt. Wenn der Peer jedoch die letzte Sendeanforderung empfängt (die Anforderung mit dem NDK_OP_FLAG_SEND_AND_SOLICIT_EVENT Flag festgelegt), generiert die Vervollständigungswarteschlange für den Peer eine Benachrichtigung. Die Benachrichtigung wird generiert, nachdem die Empfangsanforderung abgeschlossen wurde. Dieses Flag hat keine Bedeutung für den Empfänger (Peer), es sei denn, der Empfänger hat zuvor die Funktion NdkArmCq (NDK_FN_ARM_CQ) aufgerufen, wobei der Benachrichtigungstyp auf NDK_CQ_NOTIFY_SOLICITED festgelegt ist.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Keine unterstützt, wird in NDIS 6.30 und höher unterstützt. |
Unterstützte Mindestversion (Server) | Windows Server 2012 |
Zielplattform | Windows |
Kopfzeile | ndkpi.h (include Ndkpi.h) |
IRQL | <=DISPATCH_LEVEL |
Weitere Informationen
NDKPI-Schema für verzögerte Verarbeitung
Anforderungen an die NDKPI-Veröffentlichung von Arbeitsanforderungen