LPWSPGETQOSBYNAME
コールバックシグネチャ
BOOL LPWSPGETQOSBYNAME(
SOCKET s,
WSABUF* lpQOSName,
QOS* lpQOS,
INT* lpErrno
);パラメーター
| フィールド | 型 | 説明 |
|---|---|---|
| s | SOCKET | ソケットを識別する記述子。 |
| lpQOSName | WSABUF* | QOS テンプレート名を指定するか、利用可能なテンプレート名の列挙を取得するためのバッファーを提供します。 |
| lpQOS | QOS* | 格納先となる QOS 構造体へのポインター。 |
| lpErrno | INT* | エラーコードへのポインター。 |
公式ドキュメント
WSPGetQOSByName 関数は、名前付きテンプレートに基づいて QOS 構造体を初期化するか、利用可能なテンプレート名の列挙を取得します。
戻り値
関数が成功した場合、戻り値は TRUE です。関数が失敗した場合、戻り値は FALSE となり、固有のエラーコードを lpErrno から取得できます。
| エラーコード | 意味 |
|---|---|
| ネットワークサブシステムで障害が発生しました。 | |
| 記述子がソケットではありません。 | |
| lpQOS 引数がユーザーアドレス空間の有効な一部ではないか、lpQOS のバッファー長が小さすぎます。 | |
| 指定された QOS テンプレート名が無効です。 |
解説(Remarks)
クライアントは WSPGetQOSByName を使用して、特定のサービスクラスやメディアの種類に適した既知の値のセットで QOS 構造体を初期化できます。これらの値は、よく知られた名前で参照されるテンプレートに格納されています。クライアントは、lpQOSName で示される WSABUF の buf メンバーに、テンプレート名を指定する長さ 0 以外の Unicode 文字列を指すよう設定することで、これらの値を取得できます。この場合、lpQOSName は入力専用として使用され、結果は lpQOS を通じて返されます。
また、クライアントは LPWSPGetQOSByName を使用して、利用可能なテンプレート名の列挙を取得することもできます。これを行うには、lpQOSName で示される WSABUF の buf メンバーに、長さ 0 の null 終端 Unicode 文字列を設定します。この場合、buf で示されるバッファーは、lpQOSName で示される WSABUF の len メンバーが示す buf の利用可能なバイト数に収まる範囲で、利用可能な限り多くの null 終端 Unicode テンプレート名文字列の並びによって上書きされます。名前のリスト自体は、長さ 0 の Unicode 名前文字列で終端されます。LPWSPGetQOSByName をテンプレート名の取得に使用する場合、lpQOS パラメーターは無視されます。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)