SophiaFramework UNIVERSE 5.3 |
BREW 2.0 | BREW 2.1 | BREW 3.1 | BREW 4.0 |
---|---|---|---|
× | × | × | ○ |
パブリック関数 | |
---|---|
SFCError |
AddRetryCB(
AEECallback * retry
) この関数は、SFBQoSBundle::Open() 操作が再試行可能になったら通知されるように、クライアントが使用します。
|
SFCError |
Close(
SFBQoSListSmpConstRef sessions
) 複数の QoS セッションを閉じる要求を発行します。要求は、QoS リンクのリソースを解放するために下層へ転送されます。
|
SFCError |
Deactivate(
SFBQoSListSmpConstRef sessions
) 複数の QoS リンクを中断させます。
|
SFCError |
GetError(
AEEQoSSessionError * error
) クライアントが失敗の原因に関する情報を取得するための AEEQoSSessionError を返します。
|
SFCError |
GoActive(
SFBQoSListSmpConstRef sessions
) 複数の QoS リンクをアクティブにします。
|
static SFBQoSBundleSmp |
NewInstance(
SFCErrorPtr exception = null
) SFBQoSBundle インスタンスを生成します。
|
static SFBQoSBundleSmp |
NewInstance(
AEECLSID id
, SFCErrorPtr exception = null
) SFBQoSBundle インスタンスを生成します。
|
SFCError |
Open(
SFBQoSListSmpConstRef sessions
, SFBQoSListSmpConstRef specs
) 同じデータネットワークにリンクされた、新しい複数の QoS セッションの確立要求を発行します。要求は、新しい QoS リンクを確立するために下層へ転送されます。
|
SFCError |
SelectNetworkEx(
SInt32 network
, SInt16 family
) QoS バンドルに関連付ける特定のデータネットワークを選択します。
|
SFCError |
QueryInterface(
AEECLSID clsid
, VoidHandle handle
)
(SFBQuery から継承)
このオブジェクトからの別の API を問い合わせます。
|
SFCError |
QueryInterface(
AEECLSID clsid
, SFBBaseSmpPtr handle
)
(SFBQuery から継承)
このオブジェクトからの別の API を問い合わせます。
|
SFBBaseSmp |
QueryInterface(
AEECLSID clsid
)
(SFBQuery から継承)
このオブジェクトからの別の API を問い合わせます。
|
Void |
Self(
AEECLSID clsidReq
, SFBQuerySmpPtr clone
, AEECLSID clsidImp
)
(SFBQuery から継承)
オブジェクトを単一インターフェースで実装するときに使います。
|
SFBQuerySmp |
Self(
AEECLSID clsidReq
, AEECLSID clsidImp
)
(SFBQuery から継承)
オブジェクトを単一インターフェースで実装するときに使います。
|
プロテクト関数 | |
---|---|
static SFBBaseSmp |
FactoryByCreate(
AEECLSID id
, SFCErrorPtr exception = null
)
(SFBBase から継承)
指定したクラス ID のインターフェースのインスタンスを生成します。
|
static SFBBaseSmp |
FactoryByQuery(
SFBQuerySmpConstRef query
, AEECLSID id
, SFCErrorPtr exception = null
)
(SFBBase から継承)
指定したクラス ID のインターフェースのインスタンスを指定した SFBQuery インスタンスを使用して生成します。
|
[ public ] SFCError AddRetryCB( AEECallback * retry // クライアントのコールバック );
他のエラーコードが戻ることもある。
SFBQoSBundle::Open() が AEE_NET_WOULDBLOCK を返した場合は、最終結果 (エラーまたは成功) を取得するために、 SFBQoSBundle::Open() を後で再コールする必要があります。
SFBQoSBundle::Open() をいつ再コールするかの通知を受けるため、クライアントは SFBQoSBundle::AddRetryCB() を介してコールバックを登録する必要があります。
クライアントのコールバックが再開したとき、続いてコールする SFBQoSBundle::Open() が完了するという保証はないので、クライアントは AEE_NET_WOULDBLOCKを再度受け取る準備をしておく必要があります。
[ public ] SFCError Close( SFBQoSListSmpConstRef sessions // 解放する有効な QoS セッションのリスト。 );
他のエラーコードが戻ることもある。
要求できる QoS セッションの数には制限があり、 MAX_UINT8 を超えてはなりません。
閉じるように要求した QoS セッションはすべて同じネットワークにリンクされている必要があり、そうでない場合は操作に失敗し、QoS セッションインスタンスはどれも解放されません。
さらに、閉じるように要求した QoS セッションはすべて閉じることが可能な状態になければならず、そうでない場合は操作に失敗し、QoS セッションインスタンスはどれも解放されません。
AEE_SUCCESS の戻り値は、要求が正常に発行されたことを示しますが、すべての QoS セッションが解放されたことは示さないので注意してください。
SFBQoSBundle::Close() が AEE_SUCCESSを返した後、クライアントは、QoS が解放されたことを示す QoS イベント (AEE_QOS_UNAVAILABLE_EV) の発生を、各 QoS セッションについて個別にリッスンする必要があります ( SFBQoSSession::AddListener() を参照)。
IQoSBundle_Close() をコールした後、QoS バンドルオブジェクトを、任意の IQoSSession オブジェクトのバンドルで他の複数セッションの操作に再使用することができます。
[ public ] SFCError Deactivate( SFBQoSListSmpConstRef sessions // 中断する有効な QoS セッションのリスト。 );
他のエラーコードが戻ることもある。
要求できる QoS セッションの数には制限があり、 MAX_UINT8 を超えてはなりません。
中断するように要求した QoS セッションはすべて同じネットワークにリンクされている必要があり、そうでない場合は操作に失敗し、QoS セッションインスタンスはどれも中断されません。
さらに、中断するように要求した QoS セッションはすべて中断することが可能な状態になければならず、そうでない場合は操作に失敗し、QoS セッションインスタンスはどれも中断されません。
AEE_SUCCESS の戻り値は、要求が正常に発行されたことを示しますが、QoS が中断されたことは示さないので注意してください。 SFBQoSBundle::Deactivate() が AEE_SUCCESSを返した後、クライアントは、QoS が中断されたことを示す QoS イベント (DSS_IFACE_IOCTL_QOS_AVAILABLE_DEACTIVATED_EV) の発生を、各 QoS セッションについて個別にリッスンする必要があります ( SFBQoSSession::AddListener() を参照)。
IQoSBundle_Deactivate() をコールした後、QoS バンドルオブジェクトを、任意の IQoSSession オブジェクトのバンドルで他の複数セッションの操作に再使用することができます。
[ public ] SFCError GetError( AEEQoSSessionError * error // QoS セッションエラーを返す );
クライアントは、QoS バンドル操作 ( SFBQoSBundle::Open()、 SFBQoSBundle::Close()、 SFBQoSBundle::GoActive()、 SFBQoSBundle::Deactivate()) から AEE_NET_EQOS_SESSION_INVALID_OPT が返された後に、この関数をコールします。
このとき AEEQoSSessionError には、バンドル内のどの QoS セッションが失敗の原因であったかと、エラーのタイプが示されます。返されたエラーコードが AEE_QOS_SESSION_ERR_CODE_INVAL_SPEC であった場合、クライアントは ( AEEQoSSessionError インデックス値に従い) QoS セッションリスト内の該当する QoS セッションを参照して、 SFBQoSSession_GetError() をコールし、QoS 仕様エラーに関する詳細情報を取得することができます。
AEEQoSSessionError メンバが適用されない場合、そのインデックスは AEE_QOS_SESSION_ERR_INDEX_UNSPEC とマークされます。
[ public ] SFCError GoActive( SFBQoSListSmpConstRef sessions // アクティブにする有効な QoS セッションのリスト。 );
他のエラーコードが戻ることもある。
要求できる QoS セッションの数には制限があり、 MAX_UINT8 を超えてはなりません。
アクティブになるように要求した QoS セッションはすべて同じネットワークにリンクされている必要があり、そうでない場合は操作に失敗し、QoS セッションインスタンスはどれもアクティブになりません。
さらに、アクティブになるように要求した QoS セッションはすべてアクティブになることが可能な状態になければならず、そうでない場合は操作に失敗し、QoS セッションインスタンスはどれもアクティブになりません。
AEE_SUCCESS の戻り値は、要求が正常に発行されたことを示しますが、QoS がアクティブになったことは示さないので注意してください。SFBQoSBundle::GoActive() が AEE_SUCCESSを返した後、クライアントは、QoS がアクティブになったことを示す QoS イベント (AEE_QOS_AVAILABLE_MODIFIED_EV) の発生を、各 QoS セッションについて個別にリッスンする必要があります ( SFBQoSSession::AddListener() を参照)。
SFBQoSBundle::GoActive() をコールした後、QoS バンドルオブジェクトを、任意の SFBQoSSession オブジェクトのバンドルで他の複数セッションの操作に再使用することができます。
[ public, static ] SFBQoSBundleSmp NewInstance( SFCErrorPtr exception = null // エラー値 );
[ public, static ] SFBQoSBundleSmp NewInstance( AEECLSID id // クラスID SFCErrorPtr exception = null // エラー値 );
[ public ] SFCError Open( SFBQoSListSmpConstRef sessions // 要求した QoS セッションのリスト SFBQoSListSmpConstRef specs // 新しいセッションに希望する QoS 仕様のリスト );
他のエラーコードが戻ることもある。
要求できる QoS セッションの数には制限があり、 MAX_UINT8 を超えてはなりません。
QoS バンドルのネットワークが、バンドル内のすべての QoS セッションのデータネットワークとして使用されます。要求したバンドル内の各QoS セッションは、バンドルのネットワークと同じネットワークを指定するか、ネットワークを全く指定しないかのいずれかでなければなりません。それ以外のどの場合も操作に失敗し、QoS セッションは確立されません。
AEE_SUCCESS Open 要求の後、バンドル内のすべての QoS セッションがバンドルと同じネットワークに関連付けられます。
SFBQoSBundle インスタンス ( SFBQoSBundle::SelectNetworkEx()) 用にネットワークがまだ選択されていない場合、AEE_NETWORK_DEFAULT が暗黙に選択されます。
AEE_SUCCESS の戻り値は、要求が正常に発行されたことを示しますが、すべての QoS セッションが使用可能になったことは示さないので注意してください。SFBQoSBundle::Open() が AEE_SUCCESSを返した後、クライアントは、操作の成功を示す QoS イベント (AEE_QOS_AVAILABLE_MODIFIED_EV) の発生を、各 QoS セッションについて個別にリッスンする必要があります ( SFBQoSSession::AddListener() を参照)。
また、AEE_NET_WOULDBLOCK 戻り値の発生にも注意が必要です。これは、ネットワーク接続 (PPP リンクなど) を確立する必要がある場合にのみ発生します。その場合は、最終端果(エラーまたは成功)を取得するために、SFBQoSBundle::Open() を再コールする必要があります。SFBQoSBundle::Open() をいつ再コールするかの通知を受けるため、クライアントは SFBQoSBundle::AddRetryCB() を介してコールバックを登録する必要があります。クライアントのコールバックが再開したとき、続いてコールするSFBQoSBundle::Open() が完了するという保証はないので、クライアントは AEE_NET_WOULDBLOCK を再度受け取る準備をしておく必要があります。
SFBQoSBundle::Open() をコールした後、QoS バンドルオブジェクトを、任意の SFBQoSSession オブジェクトのバンドルで他の複数セッションの操作に再使用することができます。
[ public ] SFCError SelectNetworkEx( SInt32 network // データネットワークタイプ (AEE_NETWORK_*) SInt16 family // アドレスファミリ (AEE_AF_*) );
他のエラーコードが戻ることもある。
各 QoS セッションが 1 つのデータネットワークに関連付けられます。SFBQoSBundle::SelectNetworkEx() は QoS セッションのデータネットワークを変更しません。
SFBQoSBundle::Open() の後、バンドル内の各QoS セッションは、バンドルに選択されたネットワークと同じデータネットワークに関連付けられるか、ネットワークを全く指定しないかのいずれかでなければなりません。それ以外の場合、Open 要求は失敗します。
SFBQoSBundle インスタンスの作成時にネットワークは選択されません。SFBQoSBundle::SelectNetworkEx() の前に SFBQoSBundle::Open() をコールした場合は、AEE_NETWORK_DEFAULT が暗黙に選択されます。
SFBQoSBundle インスタンスは再使用可能であるため、クライアントは同じバンドルインスタンスに対して SFBQoSBundle::SelectNetworkEx() を複数回コールできます。
Copyright(c) 2002 - 2024 Sophia Cradle Incorporated All Rights Reserved. |