次の方法で共有


Winsock コア機能テスト

この自動テストでは、ループバック インターフェイスに対して Winsock コア機能の一部を反復処理し、Winsock API インターフェイスが正しく維持されているかどうかを確認します。

IPv4 ソケットと IPv6 ソケットはすべてのテストの対象に含まれ、すべてループバック インターフェイスにバインドされます。 バリエーションは次のとおりです。

  • ソケット カタログ。 Winsock カタログを列挙し、返された protocolinfo 構造体 (各プロトコル タプル) ごとにソケットを作成して、ループバック インターフェイスにバインドします。

  • オーバーラップ IO。 IPv4 と IPv6 の両方の TCP ストリーム ソケットを作成し、ループバック経由で接続を確立して、送信および重複する受信呼び出しをブロックしてソケット間でデータを送信します。 すべてのデータが受信時に検証されます。

  • TransmitFile のバリエーション。 TransmitFile がデータを正しく送信し、IPv4 ソケットと IPv6 ソケットの両方で TF_DISCONNECT を再利用するために TF_DISCONNECT フラグを実装します。 260 バイトの一時ファイルを作成して、TransmitFile を介する TCP 接続で送信します。 リスニング ソケットは AcceptEx を使用して接続とソケットの再利用を確認します。

  • ConditionalAccept。 IPv4 と IPv6 の両方の TCP ストリーム ソケットを経由する条件付き受け入れのセマンティクスを検証します。 リスナーを経由しない、CF_REJECT を返す、CF_ACCEPT を返す、CF_DEFER + CF_REJECT を返す、および を返す、CF_DEFER + CF_ACCEPT を返す 5 つの接続をテストします。

  • ストリーム。 IPv4 および IPv6 TCP ストリーム ソケットを使用した送受信をブロックします。 接続が完了するまで、listen バックログがゼロの呼び出し受け入れを保留します。

  • データグラム。 IPv4 および IPv6 UDP ソケットを使用したデータグラムの送受信を検証します。 接続/送信/受信を介したデータグラムの送信と、コネクションレス送受信をテストします。

  • 選択します。 接続の確立、データの受信、ソケットのクローズの兆候について、IPv4 と IPv6 の両方の TCP ソケットで READFDS 通知を確認します。

  • バインド。 基本的なバインド、SO_REUSEADDR バインド、SO_EXCLUSIVEADDRUSE バインドについて、IPv4 および IPv6 TCP ソケットのバインド セマンティクスを検証します。

  • ReadFile/WriteFile。 重複する ReadFile() 関数と WriteFile() 関数が IPv4 および IPv6 の TCP ソケットで正しく動作するかどうかを確認します。

  • シャットダウン。 IPv4 および IPv6 TCP ソケットでshutdown() セマンティクスを検証するには、接続を確立し、ブロッキング受信を通知して、シャットダウンの呼び出しによって受信バイト数が 0 の状態で受信が完了するかどうかを確認します。

  • アドレス指定。 h、decimal、および 8 進数の文字列から、対応するソケット アドレス構造値(WSAAddressToString および WSAStringToAddress) への IPv4 アドレスと IPv6 アドレスの変換を検証します。

  • マルチキャスト。 IPv4 と IPv6 の場合、IP_ADD_MEMBERSHIPIPV6_ADD_MEMBERSHIP を使用したマルチキャスト グループへの参加、グループへのデータの送受信、グループからの脱退を確認します。

  • JoinLeaf。 IPv4 と IPv6 の場合、WSAJoinLeaf を使用したマルチキャスト グループへの参加、グループへのデータの送受信、グループからの脱退を確認します。

  • AsyncSelect。 IPv4 および IPv6 TCP ソケットの場合、WSAAsyncSelect を使用して、FD_CONNECTFD_SENDFD_READ Windows メッセージが処理されるのを確認します。 また、マルチキャスト ソケットによって WSAJoinLeaf が完了したとき、FD_CONNECT が処理されるかどうかを確認します。

  • IOCP。 IPv4 および IPv6 TCP ソケットの場合、ソケットが I/O 完了ポートに関連付けられている重複する受信呼び出しを行います。 また、重複する完了が処理され、すべてのデータが受信されるかどうかも確認します。

  • RAW ソケット。 IPv4 および IPv6 の場合、RAW ソケットを作成し、OVERLAPPED IO を介してインターネット制御メッセージ プロトコル (ICMP) メッセージを送受信します。

  • PnP。 非ループバックの IP アドレスが最初の非ループバックに対して追加または削除されると、重複するアドレス変更通知が通知されるかどうかを確認します。

Winsock API の詳細については、「Windows ソケット 2」を参照してください。

テストの詳細

   
仕様
  • Filter.Driver.FileSystem.MiniFilter
  • Filter.Driver.AntiVirus.MiniFilter
  • Filter.Driver.AntiVirus.Winsock
プラットフォーム
  • Windows 10、クライアント エディション (x86)
  • Windows 10、クライアント エディション (x64)
  • Windows Server 2016 (x64)
サポートされているリリース
  • Windows 10
  • Windows 10 バージョン 1511
  • Windows 10 Version 1607
  • Windows 10 Version 1703
  • Windows 10 バージョン 1709
  • Windows 10 バージョン 1803
  • Windows 10 Version 1809
  • Windows 10 バージョン 1903
  • Windows 10 への次の更新プログラム
予想される実行時間 (分) 30
カテゴリ 開発
タイムアウト (分) 1800
再起動が必要です false
特別な構成が必要です false
Type automatic

 

その他のドキュメント

この機能領域のテストには、前提条件、セットアップ、トラブルシューティング情報など、次のトピックに記載されている追加のドキュメントが含まれている場合があります。

テストの実行

要件の詳細については、ファイル システムのテストの前提条件を参照してください。

さらに、このテストには次のソフトウェアが必要です:

  • テストするフィルター ドライバーと、サポートするアプリケーション スイート

  • 有効な IPv4 および IPv6 アドレスを持つ、少なくとも1つの接続されたネットワーク インターフェイス

トラブルシューティング

HLK テスト エラーの一般的なトラブルシューティングについては、「Windows HLK テストのエラーのトラブルシューティング」を参照してください。

トラブルシューティング情報については、「ファイル システム テストのトラブルシューティング」を参照してください。

すべてのテスト ケースで Pass または Fail が返されます。 テストの詳細を確認するには、Windows HLK Studio のテスト ログを確認します。

Note

   Windows ファイアウォールによって、ファイアウォールがテストの一部の機能をブロックしている可能性があるというメッセージが表示される場合があります。 ただし、ファイアウォールはテストには影響しません。 このメッセージは無視してかまいません。

 

この手順を実行したテストが成功しなかった場合は、デバイス固有またはシステム固有の詳細情報を含むテストログを Windows Hardware Lab Kit (HLK) のサポート エイリアスに送信します。

詳細情報

コマンド構文

コマンド オプション 説明

Winsockfunctional -protocol ip -t "Winsock API\Current Protocols (IPv4/IPv6)\BVT" -wtt -r -dontdisable -ipsec -notrace

このコア引数を指定する必要があります。

-lsponly

LSP がインストールされている場合、この引数を追加する必要があります。

Note

   このテスト バイナリのコマンド ライン ヘルプを表示するには、「/h」と入力します。

 

ファイル一覧

ファイル 場所

WinsockFunctional.exe

<[testbinroot]>\NTTest\NetTest\Winsock\common\

WinsockFunctional.wtl

テスト結果を含む詳細な出力ログ

Wsbvt.log

テスト結果の概要出力ログ

Bvterr.log

テスト結果の概要出力ログ

Fnshell.ini

テスト時に生成および使用される一時 .ini ファイル

 

パラメーター

パラメーター名 パラメーターの説明
LLU_LocalAdmin 実行用の LLU
LLU_NetAccessOnly コピー用 LLU