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 pośredni wywołuje NdisMRegisterMiniportDriver, aby wyeksportować funkcje MiniportXxx . NdisMiniportDriverHandle zwrócone przez NdisMRegisterMiniportDriver musi być przechowywane przez pośredni sterownik i przekazane do NDIS, gdy sterownik wywołuje NdisIMInitializeDeviceInstanceEx.
Sterownik pośredni musi:
Zerowe inicjowanie struktury NDIS_MINIPORT_DRIVER_CHARACTERISTICS za pomocą NdisZeroMemory.
Przechowuj adresy obowiązkowych funkcji MiniportXxx, a także wszelkie opcjonalne funkcje MiniportXxx, które eksportuje sterownik.
Sterownik pośredni, który obsługuje funkcje NDIS 6.0, musi zarejestrować się jako sterownik miniportu w wersji 6.0. Aby uzyskać więcej informacji na temat określania numerów wersji sterowników miniportu, zobacz NDIS_MINIPORT_DRIVER_CHARACTERISTICS.
Należy ustawić następujące wpisy w MiniportCharacteristics na prawidłowy adres funkcji MiniportXxx, chyba że funkcja jest opcjonalna i nie jest eksportowana. Jeśli sterownik nie eksportuje funkcji, ustaw adres na wartość null.
SetOptionsHandler
MiniportSetOptions jest funkcją opcjonalną. NDIS wywołuje MiniportSetOptions, aby sterownik pośredni mógł określić opcjonalne funkcje obsługi.
InitializeHandlerEx
NDIS wywołuje MiniportInitializeEx jako wynik wywołania przez sterownik pośredni NdisIMInitializeDeviceInstanceEx w celu zainicjowania operacji adaptera miniportu dla inicjowanego wirtualnego miniportu.
HaltHandlerEx
MiniportHaltEx jest wymaganą funkcją. Usługa NDIS wywołuje MiniportHaltEx, jeśli wirtualne urządzenie miniportowe ujawnione przez sterownik pośredni jest wyłączone lub zatrzymane albo jeśli sterownik pośredni wywoła NdisIMDeInitializeDeviceInstance, aby zainicjować jego usunięcie.
UnloadHandler
MiniportDriverUnload jest wymaganą funkcją. Usługa NDIS wywołuje MiniportDriverUnload w celu odinstalowania sterownika pośredniego.
PauseHandler
MiniportPause jest wymaganą funkcją. NDIS wywołuje MiniportPause, aby wstrzymać przepływ danych sieciowych przez określony wirtualny miniport sterownika pośredniego.
RestartHandler
MiniportRestart jest wymaganą funkcją. NDIS wywołuje MiniportRestart w celu ponownego uruchomienia przepływu danych sieciowych za pośrednictwem określonego wirtualnego miniportu sterownika pośredniego.
OidRequestHandler
MiniportOidRequest odbiera OID_XXX żądań pochodzących z nakładającego się sterownika, który wywołał NdisOidRequest lub z usługi NDIS. Sterownik pośredni może obsłużyć żądanie lub przekazać go do bazowego sterownika miniportu.
SendNetBufferListsHandler
MiniportSendNetBufferLists odbiera tablicę jednego lub więcej wskaźników do struktur NET_BUFFER_LIST, które określają dane sieciowe do transmisji przez sieć. Każdy sterownik pośredni powinien podać funkcję MiniportSendNetBufferLists. Aby uzyskać więcej informacji, zobacz przesyłanie danych sieciowych za pośrednictwem pośredniego sterownika.
ReturnNetBufferListsHandler
MiniportReturnNetBufferLists otrzymuje strukturę NET_BUFFER_LIST, która została zwrócona i którą wcześniej przekazała do sterownika wyższego poziomu, wywołując NdisMIndicateReceiveNetBufferLists. Wywołanie polecenia NdisMIndicateReceiveNetBufferLists zrzuca kontrolę nad wskazanymi zasobami na sterownik wyższego poziomu. Gdy sterownik wyższego poziomu zużywa każde wskazanie, struktura NET_BUFFER_LIST przydzielona przez sterownik pośredni oraz zasoby, które opisuje, są zwracane do funkcji MiniportReturnNetBufferLists.
CancelSendHandler
MiniportCancelSend jest wymaganą funkcją. NDIS wywołuje MiniportCancelSend, aby anulować żądanie wysyłania.
CheckForHangHandler
MiniportCheckForHangEx nie jest wymagana dla sterowników pośrednich, dlatego należy ustawić ten punkt wejścia na wartość null.
ResetHandlerEx
MiniportResetEx nie jest wymagana dla sterowników pośrednich, dlatego należy ustawić ten punkt wejścia na wartość null.
DevicePnPEventNotifyHandler
Punkt wejścia funkcji MiniportDevicePnPEventNotify.
ShutdownHandlerEx
MiniportShutdownEx jest wymaganą funkcją.
MiniportShutdownEx przywraca wirtualny miniport do stanu początkowego (przed uruchomieniem procedury DriverEntry sterownika pośredniego).
CancelOidRequestHandler
MiniportCancelOidRequest jest wymaganą funkcją. NDIS wywołuje MiniportCancelOidRequest, aby anulować żądanie OID.
Sterownik pośredni może wymagać innych funkcji MiniportXxx specyficznych dla implementacji. Aby uzyskać informacje na temat rejestrowania usług opcjonalnych, zobacz Configuring Optional Miniport Driver Services.
Niektóre funkcje obsługi sterowników miniport nigdy nie są dostarczane przez sterownik pośredni. Przyczyny tego problemu obejmują: te sterowniki nie zarządzają przerwaniami urządzeń lub te sterowniki nie przydzielają buforów na podniesionym poziomie IRQL.
Należy pamiętać, że sterowniki pośrednie muszą zawierać funkcje wstrzymywania i ponownego uruchamiania. Uwzględnij obsługę wstrzymywania i ponownego uruchamiania miniportów wirtualnych, jeśli jest to konieczne, gdy usługa NDIS wstrzymuje bazowy stos sterowników. Aby uzyskać więcej informacji na temat wstrzymywania i ponownego uruchamiania, zobacz Driver Stack Management.