Compartilhar via


Introdução aos drivers de protocolo NDIS

Um driver de protocolo NDIS exporta um conjunto de funções ProtocolXxx em sua borda inferior. Esse driver de protocolo se comunica com o NDIS para enviar e receber dados de rede. O driver de protocolo é associado a um driver de miniporto subjacente ou driver intermediário que exporta uma interface MiniportXxx em sua borda superior.

Nota A borda superior do driver de miniporta de um driver intermediário (miniporto virtual) não gerencia dispositivos físicos. Os drivers de miniporta subjacentes gerenciam dispositivos físicos.

Os drivers de protocolo sempre usam funções fornecidas pelo NDIS para se comunicar com drivers NDIS subjacentes para enviar e receber dados de rede. Por exemplo, um driver de protocolo que tem uma borda inferior sem conexão (que se comunica com drivers subjacentes para mídia sem conexão, como Ethernet) deve chamar NdisSendNetBufferLists para enviar dados de rede para um driver NDIS subjacente. O driver de protocolo pode chamar NdisOidRequest para consultar ou definir OIDs compatíveis com drivers sem conexão subjacentes. Um driver de protocolo que tem uma borda inferior orientada a conexão (que se comunica com drivers subjacentes para mídia orientada a conexão, como ISDN) deve chamar NdisCoSendNetBufferLists para enviar dados de rede para um driver NDIS de nível inferior. Ele também pode chamar NdisCoOidRequest para consultar ou definir OIDs compatíveis com drivers orientados a conexão subjacentes.

O NDIS também fornece um conjunto de funções NdisXxx que ocultam os detalhes do sistema operacional subjacente. Por exemplo, um driver de protocolo pode chamar NdisInitializeEvent para criar um evento para fins de sincronização e NdisInitializeListHead para criar uma lista vinculada. Os drivers de protocolo que usam as versões do NDIS dessas funções são mais portáteis em todos os sistemas operacionais da Microsoft. No entanto, os drivers de protocolo também podem chamar rotinas de suporte no modo kernel, como IoCreateDevice. Para obter mais informações, consulte Resumo das rotinas de suporte do Kernel-Mode.

Os desenvolvedores de drivers de protocolo devem usar as mesmas considerações de programação aplicadas a outros drivers de NDIS.