Inicializace miniport adaptéru

Jakmile bude síťové zařízení k dispozici, systém načte požadovaný ovladač miniportu NDIS, pokud ještě není načtený. Následně správce Plug and Play (PnP) odešle NDIS plug and Play IRP, aby zařízení spustil. NDIS volá funkci miniport ovladače MiniportInitializeEx k inicializaci adaptéru pro vstupně-výstupní operace sítě. NDIS může kdykoli po inicializaci ovladače volat MiniportInitializeEx. Další informace o inicializaci ovladače miniportu naleznete v tématu Inicializace ovladače miniportu.

Dokud se MiniportInitializeEx nevrátí, NDIS neodešle žádné požadavky pro adaptér, který se inicializuje. Adaptér je ve stavu Inicializace.

Ovladač miniportu obvykle provádí následující úlohy v MiniportInitializeEx:

  1. Získá informace o konfiguraci adaptéru.

  2. Získá informace o hardwarových prostředcích adaptéru.

  3. Volá NdisMSetMiniportAttributes a poskytuje následující atributy přidružené k adaptéru:

    • Ukazatel na kontextovou oblast přidělenou ovladačem.
    • Příznaky odpovídajících atributů.
    • Časový limit pro volání funkce MiniportCheckForHangEx.
    • Typ rozhraní.
  4. Inicializuje zdroje specifické pro adaptér.

Ovladač miniportu určuje atributy adaptéru ve struktuře NDIS_MINIPORT_ADAPTER_ATTRIBUTES, které MiniportInitializeEx předává NdisMSetMiniportAttributes.

MiniportInitializeEx přiděluje prostředky specifické pro adaptér v následujícím pořadí:

  1. Paměť nestránkovaného fondu.

  2. Fondy NET_BUFFER a NET_BUFFER_LIST (viz. operace odesílání a přijímání ovladače miniportu).

  3. Otočit zámky.

  4. Časové spínače.

  5. Vstupně-výstupní porty.

  6. DMA (viz Scatter/Gather DMA).

  7. Sdílená paměť.

  8. Přerušení (viz Správa přerušení).

Jakmile se MiniportInitializeEx vrátí úspěšně, adaptér je ve stavu pozastaveno. NDIS může volat funkci MiniportRestart pro přechod adaptéru do stavu Spuštěno. Další informace naleznete v části Spuštění miniportového adaptéru.

Pokud MiniportInitializeEx vrátí NDIS_STATUS_SUCCESS, ovladač by měl uvolnit všechny prostředky pro adaptér ve funkci MiniportHaltEx. Další informace naleznete v tématu Zastavení miniportového adaptéru.

Ovladač musí zavolat NdisMSetMiniportAttributes a nastavit GeneralAttributes ve struktuře NDIS_MINIPORT_ADAPTER_ATTRIBUTES, pokud vrátí NDIS_STATUS_SUCCESS.

Pokud MiniportInitializeEx selhal, MiniportInitializeEx musí uvolnit všechny prostředky, které přidělil, než se vrátí, a adaptér se vrátí do zastaveného stavu.

zastavení miniportového adaptéru

Stavy a operace adaptéru miniportu

Operace odesílání a přijímání miniportového ovladače

Rozprostření/Sběr DMA

Spuštění adaptéru Miniport