次の方法で共有


NdisMSynchronizeWithInterruptEx 関数 (ndis.h)

ミニポート ドライバーは NdisMSynchronizeWithInterruptEx 関数を呼び出して、ミニポート ドライバーが提供する関数の実行を MiniportInterrupt 関数と同期します。

構文

BOOLEAN NdisMSynchronizeWithInterruptEx(
  [in] NDIS_HANDLE                            NdisInterruptHandle,
  [in] ULONG                                  MessageId,
  [in] MINIPORT_SYNCHRONIZE_INTERRUPT_HANDLER SynchronizeFunction,
  [in] PVOID                                  SynchronizeFunction,
  [in] PVOID                                  SynchronizeContext
);

パラメーター

[in] NdisInterruptHandle

ミニポート ドライバーがへの以前の呼び出しで取得した割り込みハンドル NdisMRegisterInterruptEx 関数。

[in] MessageId

ドライバーを同期する必要があるメッセージシグナル割り込み。 NDIS がドライバーのメッセージ通知割り込みを許可しなかった場合、NDIS はこのパラメーターを無視します。 MessageId は、 のインデックスです。 内の構造体をIO_INTERRUPT_MESSAGE_INFO_ENTRY する IO_INTERRUPT_MESSAGE_INFO 構造体。 ドライバーが NdisMRegisterInterruptEx 関数を使用して MSI に正常に登録されると、NDIS は MessageInfoTable メンバーで関連付けられているIO_INTERRUPT_MESSAGE_INFO構造体へのポインターを渡します。

[in] SynchronizeFunction

ドライバーのエントリ ポイント MiniportSynchronizeInterrupt 関数。

[in] SynchronizeFunction

ドライバーのエントリ ポイント MiniportSynchronizeInterrupt 関数。

[in] SynchronizeContext

SynchronizeContextMiniportSynchronizeInterrupt 関数に渡される、ミニポート ドライバーによって決定されたコンテキスト領域へのポインター。

戻り値

NdisMSynchronizeWithInterruptEx、MiniportSynchronizeInterrupt が返すブール値を返します。

注釈

NdisMRegisterInterruptEx に割り込みを登録するミニポート ドライバーは、NdisMSynchronizeWithInterruptEx を使用します。 の値 MiniportSynchronizeInterrupt 関数の戻り値は、 NdisMSynchronizeWithInterruptEx によっても返されます。 この伝達された値は、呼び出し元に状態を提供します。

DIRQL で実行される他のドライバー関数とリソースを共有するすべてのミニポート ドライバー関数は、 NdisMSynchronizeWithInterruptEx を使用して、それらのリソースへのアクセスを同期する必要があります。 MiniportSynchronizeInterrupt 関数は DIRQL でも実行され、共有リソースはシステム割り当てスピン ロックによって保護されます。 したがって、共有リソースは 、MiniportInterrupt 関数と呼び出し元による同時アクセスから保護されます。

NdisMSynchronizeWithInterruptEx は 、システム スピン ロックを解放し、コントロールを返す前に、呼び出し元の元の IRQL を復元します。

NDIS スピン ロックの取得と解放の詳細については、「 ネットワーク ドライバーでの同期と通知」を参照してください。

要件

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

こちらもご覧ください

IO_INTERRUPT_MESSAGE_INFO

IO_INTERRUPT_MESSAGE_INFO_ENTRY

MiniportInterrupt

MiniportSynchronizeInterrupt

NdisMRegisterInterruptEx