Win32 API 日本語リファレンス
ホーム › Networking.WinSock › LPWSPGETQOSBYNAME

LPWSPGETQOSBYNAME

コールバック

シグネチャ

BOOL LPWSPGETQOSBYNAME(
    SOCKET s,
    WSABUF* lpQOSName,
    QOS* lpQOS,
    INT* lpErrno
);

パラメーター

フィールド型説明
sSOCKETソケットを識別する記述子。
lpQOSNameWSABUF*QOS テンプレート名を指定するか、利用可能なテンプレート名の列挙を取得するためのバッファーを提供します。
lpQOSQOS*格納先となる QOS 構造体へのポインター。
lpErrnoINT*エラーコードへのポインター。

公式ドキュメント

WSPGetQOSByName 関数は、名前付きテンプレートに基づいて QOS 構造体を初期化するか、利用可能なテンプレート名の列挙を取得します。

戻り値

関数が成功した場合、戻り値は TRUE です。関数が失敗した場合、戻り値は FALSE となり、固有のエラーコードを lpErrno から取得できます。

エラーコード 意味
WSAENETDOWN
ネットワークサブシステムで障害が発生しました。
WSAENOTSOCK
記述子がソケットではありません。
WSAENOTSOCK
lpQOS 引数がユーザーアドレス空間の有効な一部ではないか、lpQOS のバッファー長が小さすぎます。
WSAEINVAL
指定された 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 の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)