NdisMAllocatePort 関数 (ndis.h)

NdisMAllocatePort 関数は、ミニポート アダプターに関連付けられている NDIS ポートを割り当てます。

構文

NDIS_STATUS NdisMAllocatePort(
            NDIS_HANDLE                NdisMiniportHandle,
  [in, out] PNDIS_PORT_CHARACTERISTICS PortCharacteristics
);

パラメーター

NdisMiniportHandle

NDIS が の MiniportAdapterHandle パラメーターに渡したミニポート アダプター ハンドル MiniportInitializeEx 関数。

[in, out] PortCharacteristics

へのポインター NDIS_PORT_CHARACTERISTICS ポートの特性を定義する構造体です。

戻り値

NdisMAllocatePort は、次のいずれかの値を返すことができます。

リターン コード 説明
NDIS_STATUS_SUCCESS
NDIS がポートのリソースを正常に割り当てた。
NDIS_STATUS_RESOURCES
NDIS は、ポートのリソースを割り当てませんでした。
NDIS_STATUS_CLOSING
関連付けられているミニポート アダプターが閉じているため、ポートの割り当てが失敗しました。
NDIS_STATUS_INVALID_DATA
PortCharacteristics パラメーターで指定されたデータが無効です。

注釈

NdisMAllocatePort 関数は、ミニポート アダプターに関連付けられているポートのリソースとポート番号を割り当てます。 ミニポート ドライバーがポートの NetEventPortActivation プラグ アンド プレイ (PnP) イベントを発行するまで、ポートはアクティブではありません。

ミニポート ドライバーがポートをアクティブ化した後、NDIS は、上にあるドライバーの PnP 通知を生成します。 基になるドライバーまたはユーザー モード のアプリケーションがミニポート アダプターのポートを列挙する OID_GEN_ENUMERATE_PORTS OID を発行する場合、NDIS は、ポートの一覧に非アクティブな割り当てられたポートを含まれません。

NdisMAllocatePort が正常に返されると、 の PortNumber メンバーPortCharacteristics パラメーターが指定するNDIS_PORT_CHARACTERISTICS構造体は、NDIS がポートに割り当てたポート番号に設定されます。

ポートが不要になった後、ミニポート ドライバーは NdisMFreePort 関数を呼び出してポートを解放する必要があります。

要件

要件
サポートされている最小のクライアント NDIS 6.0 以降でサポートされています。
対象プラットフォーム ユニバーサル
Header ndis.h (Ndis.h を含む)
Library Ndis.lib
IRQL <= DISPATCH_LEVEL

こちらもご覧ください

NDIS ポートの割り当て

MiniportInitializeEx

NDIS_PORT_CHARACTERISTICS

NdisMFreePort

OID_GEN_ENUMERATE_PORTS