Delen via


Overzicht van Network Direct Kernel Provider Interface (NDKPI)

De Network Direct Kernel Provider Interface (NDKPI) is een extensie van NDIS waarmee IHVs ondersteuning bieden voor kernelmodus Remote Direct Memory Access (RDMA) in een netwerkadapter, ook wel een RNIC genoemd. Om de RDMA-functionaliteit van de adapter beschikbaar te maken, moet de IHV de NDKPI-interface implementeren zoals gedefinieerd in de NDKPI Reference.

NDKPI en RDMA

Een NIC-leverancier implementeert RDMA als een combinatie van software, firmware en hardware. Het hardware- en firmwaregedeelte is een netwerkadapter die NDK-/RDMA-functionaliteit biedt. Dit type adapter wordt ook wel een RDMA-NIC (RNIC) genoemd. Het softwaregedeelte is een minipoortstuurprogramma dat geschikt is voor NDK, waarmee de NDKPI-interface wordt geïmplementeerd.

De Windows-implementatie van RDMA wordt Network Direct (ND) genoemd. Het kernelgedeelte wordt Network Direct Kernel (NDK) genoemd.

NDK-providers moeten netwerkconnectiviteit ondersteunen via zowel IPv4- als IPv6-adressen die zijn toegewezen aan minipoortadapters die geschikt zijn voor NDK.

Voor meer informatie over RDMA, zie Achtergrondinformatie over RDMA.

De NDK-provider

Een NDK-provider is een minipoortstuurprogramma dat de NDKPI-interface implementeert.

De NDK-provider wordt geladen en geïnitialiseerd door PnP Manager. Zie Initialiseren van een NDK-Capable Miniport-stuurprogramma en Initialiseren van een NDK Miniport Adaptervoor meer informatie.

Zodra de NDK-provider is geladen en geïnitialiseerd, is deze klaar om aanvragen van de NDK-consument af te handelen. Deze aanvragen worden verzonden als aanroepen naar providerfuncties.

Bij het verwerken van aanvragen van een NDK-consument kan de provider de NDK-callbackfuncties van de consument aanroepen. Deze worden beschreven in NDKPI Consumer Callback Functions.

NDK-providers moeten alle elementen van de NDKPI-interface implementeren die zijn gedocumenteerd in de NDKPI-referentie, met uitzondering van de NDKPI-consument callback-functies.

De NDK-consument

NDK-gebruikers zijn windows-onderdelen in de kernelmodus, zoals SMB-server en -client.

Opmerking In deze documentatie wordt niet besproken hoe u een NDK-consument implementeert. De NDKPI Consumer Device Driver Interface (DDI) is een eigen Windows-interne interface.

Een NDK-consument roept de NdkOpenAdapter- (OPEN_NDK_ADAPTER_HANDLER) callbackfunctie aan om een adapterobject te creëren en gebruikt NdkCloseAdapter (NDK_FN_CLOSE_OBJECT) om het te sluiten. Zodra de provider het adapterobject heeft gemaakt, roept de consument andere callback-functies van de provider aan om extra NDK-objecten te maken.

NDK-consumenten implementeren de NDKPI Consumer Callback Functions, die worden aangeroepen door NDK-providers.