Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Systém volá rutinu DriverEntry ovladače protokolu poté, co se načte ovladač. Ovladače protokolu se načítají jako systémové služby. Mohou se načíst kdykoli před načtením ovladačů miniportu nebo po nich.
Ovladače protokolu přidělují prostředky ovladačů a registrují funkce ProtocolXxx v DriverEntry. To zahrnuje klienty CoNDIS a samostatné správce hovorů. Pokud chcete zaregistrovat své funkce ProtocolXxx pomocí NDIS, ovladač protokolu volá funkci NdisRegisterProtocolDriver.
DriverEntry vrátí STATUS_SUCCESS, nebo jeho ekvivalent NDIS_STATUS_SUCCESS, pokud byl ovladač úspěšně zaregistrován jako ovladač protokolu NDIS. Pokud DriverEntry selže při inicializaci propagací chybového stavu vráceného funkcí NdisXxx nebo rutinou podpory režimu jádra, ovladač nezůstane načtený. DriverEntry musí být spuštěn synchronně; to znamená, že nemůže vrátit STATUS_PENDING ani jeho ekvivalentní NDIS_STATUS_PENDING.
Funkce DriverEntry v protokolovém ovladači NDIS musí volat funkci NdisRegisterProtocolDriver. Pro zaregistrování vstupních bodů ProtocolXxx ovladačem v knihovně NDIS inicializuje ovladač protokolu strukturu NDIS_PROTOCOL_DRIVER_CHARACTERISTICS a předá ji do NdisRegisterProtocolDriver.
Ovladače, které volají NdisRegisterProtocolDriver, musí být připravené na okamžité volání některé z jejich funkcí ProtocolXxx.
Ovladače protokolu NDIS poskytují následující funkce ProtocolXxx, které jsou aktualizované verze funkcí, které poskytují starší verze ovladačů:
ProtocolCloseAdapterCompleteEx
Ovladače protokolu NDIS poskytují následující funkce protokolu ProtocolXxx pro operace odesílání a příjmu:
ProtocolSendNetBufferListsComplete
Všechny typy ovladačů protokolu NDIS by měly registrovat plně funkční ProtocolBindAdapterEx a ProtocolUnbindAdapterEx funkce pro podporu plug and Play (PnP). Obecně platí, že funkce DriverEntry by měla volat NdisRegisterProtocolDriver bezprostředně předtím, než vrátí ovládací prvek se stavovou hodnotou STATUS_SUCCESS nebo NDIS_STATUS_SUCCESS.
Každý ovladač protokolu, který exportuje sadu standardních rutin ovladačů režimu jádra kromě svých ProtocolXxx funkcí definovaných NDIS, musí nastavit vstupní body pro tyto rutiny ovladače v daném objektu ovladače, který je předán do jeho funkce DriverEntry. Další informace o funkcích takové funkce ovladače protokolu DriverEntry naleznete v tématu Zápis rutiny DriverEntry.
Pokud pokus o přidělení prostředků, které ovladač potřebuje k provádění síťových vstupně-výstupních operací, selže, DriverEntry by měly uvolnit všechny prostředky, které už přidělil, než vrátí kontrolu s jiným stavem než STATUS_SUCCESS nebo NDIS_STATUS_SUCCESS.
Pokud dojde k chybě po úspěšném volání NdisRegisterProtocolDriver, ovladač musí zavolat funkci NdisDeregisterProtocolDriver, než DriverEntry vrátí.
Aby ovladač protokolu mohl konfigurovat volitelné služby, NDIS volá funkci ProtocolSetOptions v kontextu volání ovladače protokolu NdisRegisterProtocolDriver. Další informace o volitelných službách naleznete v tématu Konfigurace volitelných služeb protokolu Driver Services.
Klientští ovladače CoNDIS musí volat funkci NdisSetOptionalHandlers z funkce ProtocolSetOptions. Ovladač inicializuje strukturu NDIS_CO_CLIENT_OPTIONAL_HANDLERS, a předá ji jako parametr OptionalHandlers funkce NdisSetOptionalHandlers.
Správci samostatných volání CoNDIS musí také volat funkci NdisSetOptionalHandlers z funkce ProtocolSetOptions. Ovladač inicializuje strukturu NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS a předá ji v parametru OptionalHandlers funkce NdisSetOptionalHandlers.
McM nejsou ovladače protokolu. Proto musí volat funkci NdisSetOptionalHandlers z funkce MiniportSetOptions. MCM inicializuje strukturu NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS a předá ji jako parametr OptionalHandlers funkce NdisSetOptionalHandlers.
Pokud chcete zrušit registraci pomocí NDIS, ovladač protokolu volá NdisDeregisterProtocolDriver ze své rutiny Unload.
Aby bylo možné provádět operace čištění před odinstalací ovladače protokolu, může ovladač protokolu zaregistrovat funkci ProtocolUninstall. Funkce ProtocolUninstall je volitelná. Například dolní okraj protokolu zprostředkujícího ovladače může vyžadovat funkci ProtocolUninstall. Střední ovladač může uvolnit hraniční prostředky protokolu v ProtocolUninstall předtím, než NDIS zavolá funkci MiniportDriverUnload.