WSCInstallQOSTemplate 関数 (ws2spi.h)

[ この関数は、Windows Vista 以降のバージョンのオペレーティング システムではサポートされていません。]

WSCInstallQOSTemplate 関数は、指定された QoS テンプレートをシステム構成データベースにインストールします。

構文

int WSCInstallQOSTemplate(
  [in] const LPGUID Guid,
  [in] LPWSABUF     QosName,
  [in] LPQOS        Qos
);

パラメーター

[in] Guid

サービス品質 (QoS) プロバイダーのグローバル一意識別子 (GUID)。

[in] QosName

インストールするテンプレートの QoS 名を含む WSABUF 構造体へのポインター。

[in] Qos

サービス フロー仕様の品質と QoS テンプレートのプロバイダー固有の情報を指定する QOS 構造体へのポインター。

戻り値

WSCInstallQOSTemplate 関数が成功した場合、戻り値は 0 です。 それ以外の場合は、次のいずれかのエラー コードが返されます。

エラー コード 意味
WSAEFAULT
1 つ以上の引数が、ユーザー・アドレス・スペースの有効な部分にありません。
WSAEINVAL
1 つ以上の引数が無効です。 このエラーは、 Guid パラメーターで指定された QoS プロバイダーが無効な場合、または QosName パラメーターで指定された QoS テンプレート名が無効な場合に返されます。 このエラーは、 Qos パラメーターで指定されたテンプレート構造の内容が無効または不完全な場合にも返されます。
WSAENOBUFS
バッファーにメモリを割り当てることはできません。
WSANO_RECOVERY
回復不可能なエラーが発生しました。 このエラーは、プロバイダーが既にインストールされている、ユーザーが Winsock レジストリに書き込むのに必要な管理特権がない、カタログ エントリを作成またはインストールするときにエラーが発生したなど、いくつかの条件で返されます。
WSASYSCALLFAILURE
失敗しないシステム呼び出しが失敗しました。
WSA_NOT_ENOUGH_MEMORY
メモリが不足していました。 このエラーは、新しいカタログ エントリを割り当てるためのメモリが不足している場合に返されます。

注釈

WSCInstallQOSTemplate 関数は、Windows Vista 以降ではサポートされていません。 この関数が Windows Vista で呼び出され、エラーが返される場合。

WSCInstallQOSTemplate 関数は、QoS 名に基づいて QoS テンプレートをインストールします。 WSCInstallQOSTemplate 関数の呼び出し元には、呼び出しを成功させるために適切な管理者権限が必要です。

QoS 設定を含む QOS 構造体は、 後で WSPGetQOSByName 関数を呼び出し、関連付けられている QoS 名を渡すことによって取得できます。

WSCInstallQOSTemplate 関数は、 を含む名前付き QoS テンプレートをインストールします。
Qos パラメーターで指定された QOS 構造体。 Qosname パラメーターで指定された QoS 名を持つ QoS テンプレートが既に存在する場合は、Qos パラメーターで指定された設定によって、既存のテンプレートの設定が置き換えられます。

Guid パラメーターが NULL に設定されている場合、インストールされている QOS テンプレートはすべてのサービス プロバイダーに適用されます。 Guid パラメーターが NULL でない場合、インストールされている QoS テンプレートは、Guid パラメーターによって示されるプロバイダーにのみ適用されます。

QoS テンプレート設定は不揮発性ストレージに格納されるため、lpQOSName パラメーターで指定されたのと同じ QoS 名を持つ WSAGetQOSByName 関数の後続の呼び出しは、WSCInstallQOSTemplate 関数に渡されたのと同じ QOS 構造体を返します。

Windows ソケット 2 には、QoS テンプレートの基本セットが含まれています。 新しいテンプレートを既存の名前でインストールするだけで、これらの QoS テンプレートのいずれかをオーバーライドして置き換えたり、既存の QoS テンプレートを変更したりできます。 既存のテンプレートを置き換えたり変更したりする前に、既存のテンプレートを削除する必要はありません。 Windows ソケット 2 に含まれる QoS という名前のテンプレートの基本セットを削除することはできません。 ただし、後で追加されたテンプレートは、おそらく他のサービス プロバイダーによって削除できます。

Qos パラメーターは、QOS 構造体の ProviderSpecific メンバーにプロバイダー固有の設定を含むバッファーを含めることができる QOS 構造体を指します。 プロバイダー固有の設定は、基本的な QOS 構造と共に格納され、 WSAGetQOSByName 関数の後続の呼び出しで返されます。

すべてのサービス プロバイダーにグローバル QoS テンプレートをインストールするために Guid パラメーターが NULL に設定されている場合でも、QOS 構造体の ProviderSpecific メンバーを設定できます。 この方法により、サービス プロバイダーがその内容を認識しない場合、サービス プロバイダーは QOS 構造体の ProviderSpecific メンバーを無視する可能性があることに注意してください。 WSCInstallQOSTemplate 関数の推奨される使用方法は、名前付きテンプレートが特定のサービス プロバイダーにインストールされている場合 (Guid パラメーターが NULL ではない) 場合にのみ、QOS 構造体の ProviderSpecific メンバーにプロバイダー固有の設定を含めます。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー ws2spi.h

こちらもご覧ください

Qos

Wsabuf

WSPGetQOSByName