Udostępnij przez


Generowanie żądań OID ze sterownika protokołu NDIS

Aby zainicjować żądanie OID do podstawowych sterowników, protokół wywołuje funkcję NdisOidRequest.

Na poniższej ilustracji przedstawiono żądanie OID pochodzące ze sterownika protokołu.

Diagram ilustrujący żądanie identyfikatora OID pochodzące ze sterownika protokołu.

Gdy sterownik protokołu wywołuje funkcję NdisOidRequest, NDIS wywołuje funkcję żądania kolejnego sterownika niższej warstwy. Aby uzyskać więcej informacji na temat obsługi żądań OID przez sterownik miniportu, zobacz żądania OID dla adaptera. Aby uzyskać więcej informacji na temat obsługi żądań OID przez sterownik filtru, zobacz Filter Module OID Requests.

Aby zakończyć proces synchronicznie, NdisOidRequest zwraca NDIS_STATUS_SUCCESS lub kod błędu. Aby ukończyć asynchronicznie, NdisOidRequest zwraca NDIS_STATUS_PENDING.

Jeśli NdisOidRequest zwraca NDIS_STATUS_PENDING, NDIS wywołuje funkcję ProtocolOidRequestComplete po zakończeniu żądania OID przez podstawowe sterowniki. W takim przypadku NDIS przekazuje wyniki żądania w parametrze OidRequest funkcji ProtocolOidRequestComplete. Usługa NDIS przekazuje ostateczny status żądania w Status parametru ProtocolOidRequestComplete.

Jeśli NdisOidRequest zwraca NDIS_STATUS_SUCCESS, zwraca wyniki żądania zapytania w strukturze NDIS_OID_REQUEST w parametrze OidRequest. W takim przypadku usługa NDIS nie wywołuje funkcji ProtocolOidRequestComplete.

Aby określić, jakie informacje zostały pomyślnie obsłużone przez podstawowy sterownik, sterowniki protokołów, które wystawiają żądania OID, muszą sprawdzić wartość w SupportedRevision członka w strukturze NDIS_OID_REQUEST po zakończeniu zwracania żądania OID. Aby uzyskać więcej informacji o wersji serwera NDIS, zobacz Określanie informacji o wersji serwera NDIS.

Jeśli podstawowy sterownik powinien skojarzyć żądanie identyfikatora OID z kolejnym wskazaniem stanu, sterownik protokołu powinien ustawić pole RequestId w strukturze NDIS_OID_REQUEST. Gdy podstawowy sterownik wskazuje stan, ustawia członka RequestId w strukturze NDIS_STATUS_INDICATION na wartość podaną w żądaniu OID.

Sterownik może wywołać NdisOidRequest, gdy powiązanie znajduje się w stanie ponownego uruchomienia, działania, wstrzymywania, lub pauzy.