Sdílet prostřednictvím


Požadavky OID ovladače protokolu CoNDIS

Ovladače protokolu CoNDIS, klienti nebo správci volání, mohou dotazovat nebo nastavit provozní parametry ovladačů miniportu a dalších ovladačů protokolu. Ovladače protokolu CoNDIS můžou také dotazovat nebo nastavit informace v manažerech volání miniportu (MCM). Další informace o požadavcích OID a MCM naleznete v tématu CoNDIS MCM OID Requests.

Za účelem vytvoření požadavku OID na podkladový ovladač volá ovladač protokolu funkci NdisCoOidRequest a nastaví popisovač rodiny adres (AF) u parametru NdisAfHandle na NULL. K vytvoření OID požadavku na jiný ovladač protokolu CoNDIS volá ovladač protokolu funkci NdisCoOidRequest a poskytne platný popisovač AF.

Po volání funkce NdisCoOidRequest ovladačem protokolu, NDIS volá funkci požadavku OID jiného ovladače (podkladového ovladače nebo jiného ovladače protokolu CoNDIS). Pro Miniport ovladače volá NDIS funkci MiniportCoOidRequest. Pro ovladače protokolu volá NDIS funkci ProtocolCoOidRequest.

Následující obrázek znázorňuje požadavek OID, který je směrován na ovladač miniportu.

diagram znázorňující požadavek OID směrovaný na ovladač miniportu.

Následující obrázek znázorňuje požadavek OID, který je směrován na ovladač protokolu.

diagram znázorňující požadavek OID směrovaný na ovladač protokolu.

Pro synchronní dokončení NdisCoOidRequest vrátí NDIS_STATUS_SUCCESS nebo chybový stav. Pro asynchronní dokončení vrátí NdisCoOidRequest hodnotu NDIS_STATUS_PENDING.

Pokud NdisCoOidRequest vrátí NDIS_STATUS_PENDING, NDIS zavolá funkci ProtocolCoOidRequestComplete poté, co jiný ovladač dokončí požadavek OID voláním funkce NdisMCoOidRequestComplete nebo funkce NdisCoOidRequestComplete. V tomto případě NDIS předá výsledky požadavku v parametru OidRequest funkce ProtocolCoOidRequestComplete. NDIS předá konečný stav požadavku jako parametr Status v ProtocolCoOidRequestComplete.

Pokud NdisCoOidRequest vrátí NDIS_STATUS_SUCCESS, vrátí výsledky požadavku dotazu ve struktuře NDIS_OID_REQUEST na OidRequest body parametrů. V tomto případě NDIS nevolá funkci ProtocolCoOidRequestComplete.

Pokud by podkladový ovladač měl přidružit požadavek OID k následnému označení stavu, měl by ovladač protokolu nastavit RequestId a RequestHandle členy ve struktuře NDIS_OID_REQUEST. Pokud podkladový ovladač indikuje stav, ovladač nastaví člen RequestId ve struktuře NDIS_STATUS_INDICATION na hodnotu z členu RequestId struktury NDIS_OID_REQUEST a člen DestinationHandle ve struktuře NDIS_STATUS_INDICATION na hodnotu z členu RequestHandle struktury NDIS_OID_REQUEST.

Ovladač může volat NdisCoOidRequest, když je vazba ve stavu Restartování, Spuštění, Pozastavovánínebo Pozastaveno.