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
SynchronizeContext の MiniportSynchronizeInterrupt 関数に渡される、ミニポート ドライバーによって決定されたコンテキスト領域へのポインター。
戻り値
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) |