ポイントツーポイント プロトコル (PPP) フレームが、暗号化が有効になっているポイントツーポイント トンネリング プロトコル (PPTP) トンネル、または暗号化に IPSec を使用するレイヤー 2 トンネリング プロトコル (L2TP) トンネルを介して送信される場合、一般的な PPP フレーム キャプチャ ユーティリティでは、暗号化されたプロトコル ID フィールドを持つ PPP フレームのみをキャプチャできます。 このドキュメントでは、Windows Vista で PPP フレームをキャプチャできるドライバーを、送信パスで圧縮または暗号化解除する前、または受信パスで圧縮解除または復号化した後で取得できるドライバーを開発する方法について説明します。
NDIS プロトコル ドライバーを記述します。 詳細については、「 NDIS 6.0 プロトコル ドライバー 」または 「NDIS プロトコル ドライバー (NDIS 5.1)」を参照してください。
"ms_netmon" のハードウェア ID でドライバーをインストールします。 特定のハードウェア ID を使用してドライバーをインストールする方法の詳細については、「 INF モデル」セクションを参照してください。
Note
各 Windows Vista マシンでは、"ms_netmon" ハードウェア ID を持つドライバー エンティティを 1 つだけインストールできます。 この ID を持つ別のドライバーをインストールするには、最初のドライバーをアンインストールする必要があります。 "ms_netmon" ハードウェア ID を使用せずにインストールされたドライバーは、PPP フレームのキャプチャに必要なバインディングを実行できません。
プロトコル ドライバーでは、PPP フレームをキャプチャするためのバインディング インターフェイスとして "ndiswanbh" を指定する必要があります。 詳細な手順については、「 バインディング インターフェイスの指定」を参照してください。
ドライバーの ProtocolBindAdapter 実装では、中配列の一部として "NdisMediumWan" をサポートする必要があります。これにより、 NdisOpenAdapter 関数を使用して ndiswanbh ミニポート エッジを開くことができます。
ProtocolOpenAdapterComplete 関数が状態NDIS_STATUS_SUCCESSで呼び出された場合、プロトコル ドライバーはフラグNDIS_PACKET_TYPE_PROMISCUOUSを使用してOID_GEN_CURRENT_PACKET_FILTER OID を設定し、このバインドに対してNDIS_PACKET_TYPE_ALL_LOCALする必要があります。 これが完了すると、プロトコル ドライバーは ProtocolReceive 関数で PPP フレーミング レイヤーから復号化された PPP フレームを受信します。
Note
この情報は、Windows Vista コンピューター上のドライバーにのみ適用されます。