次の方法で共有


NdisMFreePort 関数 (ndis.h)

NdisMFreePort 関数は、以前に NdisMAllocatePort 関数で割り当てられた NDIS ポートを解放します。

構文

NDIS_STATUS NdisMFreePort(
       NDIS_HANDLE      NdisMiniportHandle,
  [in] NDIS_PORT_NUMBER PortNumber
);

パラメーター

NdisMiniportHandle

NDIS が ミニポートAdapterHandle パラメーターに渡したミニポート アダプター ハンドルミニポートInitializeEx 関数を します。

[in] PortNumber

NDIS が解放する NDIS ポートの数。 PortNumber 値は、ULONG データ型を持つNDIS_PORT_NUMBER値です。 NDIS は、PortNumber メンバーのポート番号を指定しました。ミニポート ドライバーが NdisMAllocatePort 関数を呼び出した場合の NDIS_PORT_CHARACTERISTICS 構造体。

ポート番号には、1 から0xffffffまでの数値を指定できます。 PortNumber 既定のポートを示す 0 に設定することはできません。

戻り値

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

リターン コード 形容
NDIS_STATUS_SUCCESS
NDIS は、ポートのリソースを正常に解放しました。
NDIS_STATUS_INVALID_PORT
NDIS は、ポート番号が無効であったため、ポートのリソースを解放できませんでした。
NDIS_STATUS_INVALID_PORT_STATE
ポートが空き操作が無効な状態にあるため、NDIS はポートのリソースを解放できませんでした。 ポートを解放するには、ポートが割り当てられた状態である必要があります。
NDIS_STATUS_INVALID_DATA
PortNumber パラメーターで指定されたポート番号が無効です。

備考

ミニポート ドライバーが NdisMAllocatePort 関数を呼び出すことによってポートを割り当てた場合、ドライバーは、ミニポートHaltEx 関数から戻る前にポートを解放する必要があります。 ミニポート ドライバーが、NetEventPortActivation プラグ アンド プレイ (PnP) イベントを発行してポートをアクティブ化した場合、ドライバーはポートを解放する前に、ポートに対して NetEventPortDeactivation PnP イベントを発行する必要があります。

ミニポート ドライバーがポート 解放するために NdisMFreePort を呼び出すと、NDIS は解放されたポートに割り当てられているポート番号も解放して、NDIS がポート番号を再利用できるようにします。

ミニポート ドライバーは、既定のポートを解放しようとしないでください。

必要条件

要件 価値
サポートされる最小クライアント NDIS 6.0 以降でサポートされています。
ターゲット プラットフォーム 万国
ヘッダー ndis.h (Ndis.h を含む)
ライブラリ Ndis.lib
IRQL <= DISPATCH_LEVEL
DDI コンプライアンス規則 する Irql_Miniport_Driver_Function(ndis)

関連項目

既定の NDIS ポート する

NDIS ポート を解放する

ミニポートHaltEx

ミニポートInitializeEx

NDIS_PORT_CHARACTERISTICS

NdisMAllocatePort