前のページ次のページ上に戻るホーム SophiaFramework UNIVERSE 5.3
SFBDNS
IDNS インターフェースのラッパークラスです。
#include <SFBDNS.h.hpp>
class SFBDNS : public SFBQuery;
SFMTYPEDEFWRAPPER(SFBDNS)

継承図

SFBDNS クラスの継承図

バージョン

BREW 2.0 BREW 2.1 BREW 3.1 BREW 4.0

参照

BREW API IDNS

メンバ

パブリック関数
SFCError AddQuestion( AEEDNSType dnsType , AEEDNSClass dnsClass , ACharConstPtr domain )
リクエスト内の質問レコードのセットに質問を追加します。
SFCError AddQuestion( AEEDNSType dnsType , AEEDNSClass dnsClass , SFXAnsiStringConstRef domain )
リクエスト内の質問レコードのセットに質問を追加します。
SFCError GetResponse( AEEDNSResponse const ** response )
問い合わせ完了後に DNS 応答を取得します。
static
SFBDNSSmp
NewInstance( SFCErrorPtr exception = null )
SFBDNS インスタンスを生成します。
static
SFBDNSSmp
NewInstance( AEECLSID id , SFCErrorPtr exception = null )
SFBDNS インスタンスを生成します。
ACharPtr ParseDomain( VoidConstPtr domain , SInt32Ptr value )
ドメイン名のDNS表現を、ドット( . )またはダッシュ( - )区切りのゼロ終結文字列に変換します。
ACharPtr ParseDomain( SFXBufferConstRef domain , SInt32Ptr value )
ドメイン名のDNS表現を、ドット( . )またはダッシュ( - )区切りのゼロ終結文字列に変換します。
SFCError Start( PFNNOTIFY notify , VoidPtr data = null )
問い合わせを開始し、コールするコールバックを登録します。
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 インスタンスを使用して生成します。

SFBDNS::AddQuestion
リクエスト内の質問レコードのセットに質問を追加します。
[ public ]
SFCError AddQuestion(
    AEEDNSType dnsType     // DNS 質問タイプ
    AEEDNSClass dnsClass   // DNS クラス
    ACharConstPtr domain   // ドット表記のドメイン名を表すゼロ終結文字列
                           // " example.com " のような単一ドットによる終結が許可され、
                           // 終結ドットなしのドメイン名とまったく同様に処理される
                           // (注意 : ドメイン名検索パスと相対ドメイン名はサポートされていません)
);
[ public ]
SFCError AddQuestion(
    AEEDNSType dnsType             // DNS 質問タイプ
    AEEDNSClass dnsClass           // DNS クラス
    SFXAnsiStringConstRef domain   // ドット表記のドメイン名を表すゼロ終結文字列
                                   // " example.com "のような単一ドットによる終結が許可され、
                                   // 終結ドットなしのドメイン名とまったく同様に処理される
                                   // (注意 : ドメイン名検索パスと相対ドメイン名はサポートされていません)
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • 引数が不正なとき: SFERR_INVALID_PARAM
  • 新しいクエリーにより DNS メッセージが最大サイズ (UDP を介した DNS では 512 バイト) を超えるとき: SFERR_FAILED
  • IDNS が不適切な状態のため、クエリーを追加できないとき: AEE_NET_EINVAL

参照

BREW API IDNS_AddQuestion | AEEDNSType | AEEDNSClass


SFBDNS::GetResponse
問い合わせ完了後に DNS 応答を取得します。
[ public ]
SFCError GetResponse(
    AEEDNSResponse const ** response   // 応答の記述を格納している構造体へのポインタ
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • メモリ不足のとき: SFERR_NO_MEMORY
  • 再送信がタイムアウトしたとき: AEE_NET_ETIMEDOUT
  • 失敗したとき: AEEError.h で定義されているエラー値

参照

BREW API IDNS_GetResponse | AEEDNSResponse


SFBDNS::NewInstance
SFBDNS インスタンスを生成します。
[ public, static ]
SFBDNSSmp NewInstance(
    SFCErrorPtr exception = null   // エラー値
);
[ public, static ]
SFBDNSSmp NewInstance(
    AEECLSID id                    // クラスID
    SFCErrorPtr exception = null   // エラー値
);

SFBDNS::ParseDomain
ドメイン名のDNS表現を、ドット( . )またはダッシュ( - )区切りのゼロ終結文字列に変換します。
[ public ]
ACharPtr ParseDomain(
    VoidConstPtr domain   
    SInt32Ptr value       
);
[ public ]
ACharPtr ParseDomain(
    SFXBufferConstRef domain   
    SInt32Ptr value            // null でない場合、 バッファのサイズが指定される
);

引数

domain

ドメイン名の先頭へのポインタ。 このポインタは、AEEDNSItem レコードにより記述される DNS 応答データを指す必要がある。 これは、domain 値のデコード、または domain[] 配列内の値のデコードに使用できる。

value

ドメイン名によって占有されるバイト数を持つ値へのポインタ ( 結果文字列内ではなく、ソースバイト配列内 )。 ドメイン名の形式が不正な場合、*pcb はゼロに設定される。 value == null の場合、このパラメータは無効です。

解説

注意:バッファサイズは SInt32 の値までの制限があります。

参照

BREW API IDNS_ParseDomain


SFBDNS::Start
問い合わせを開始し、コールするコールバックを登録します。
[ public ]
SFCError Start(
    PFNNOTIFY notify      // 操作の完了後にコールする関数
                          // 操作が正常に開始された( Start()が SUCCESS を返した ) 場合にのみコールされる
    VoidPtr data = null   // 呼び出されたときに notify() に渡す Void ポインタ
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • SFBDNS::Start が複数回コールされたとき: AEE_NET_EINVAL

参照

BREW API IDNS_Start | PFNNOTIFY