Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Sterownik protokołu musi zarządzać pulami struktury NET_BUFFER_LIST i pulami struktury NET_BUFFER na potrzeby operacji wysyłania. Aby utworzyć te pule, sterowniki wywołają następujące funkcje:
Sterowniki protokołów mogą używać następujących funkcji do przydzielania struktur z pul:
NdisAllocateNetBufferAndNetBufferList
Wywoływanie NdisAllocateNetBufferAndNetBufferList jest bardziej wydajne niż wywoływanie NdisAllocateNetBufferList, następnie NdisAllocateNetBuffer. Jednak NdisAllocateNetBufferAndNetBufferList tworzy tylko jedną strukturę NET_BUFFER w strukturze NET_BUFFER_LIST. Aby użyć NdisAllocateNetBufferAndNetBufferList, sterownik musi ustawić parametr AllocateNetBuffer, aby true, gdy wywołuje NdisAllocateNetBufferListPool.
Sterowniki protokołów mogą używać żądań OID do wykonywania zapytań dotyczących uzupełniania wstecznego i wymagań dotyczących przestrzeni kontekstowej sterowników podstawowych. Sterownik protokołu powinien określić wymagania dotyczące wypełniania wstecznego i kontekstu dla powiązania w stanach Otwierania lub Ponownego uruchamiania. Sterownik powinien przydzielić wystarczającą ilość miejsca na wypełnienie wsteczne i miejsce kontekstowe dla całego stosu. W razie potrzeby sterownik protokołu może zwolnić pule i przydzielić je na nowo w stanie Ponowne uruchamianie.
Sterowniki protokołów używają następujących funkcji, aby zwolnić pule:
Sterowniki protokołów używają następujących funkcji, aby zwolnić struktury przydzielone z pul:
Programiści powinni zwolnić struktury NET_BUFFER przydzielone za pomocą NdisAllocateNetBuffer przed zwolnieniem skojarzonej struktury NET_BUFFER_LIST. NET_BUFFER struktury przydzielone za pomocą NdisAllocateNetBufferAndNetBufferList są zwalniane, gdy sterownik wywołuje NdisFreeNetBufferList dla skojarzonej struktury NET_BUFFER_LIST.