前のページ次のページ上に戻るホーム BREW C++ ライブラリ & GUI フレームワーク : SophiaFramework 3.0
SFBHashCTX
IHashCTX インターフェイスのラッパークラスです。
#include <SFBHashCTX.h.hpp>
class SFBHashCTX : public SFBQuery;
SFMTYPEDEFWRAPPER(SFBHashCTX)

継承図

SFBHashCTX クラスの継承図

協調図

SFBHashCTX クラスの協調図

参照

BREW API IHashCTX

メンバ

パブリック関数
SFCError Final( VoidPtr hash , SInt32 hashSize , VoidPtr result , SInt32Ptr resultSize )
Final( SFXBufferPtr hash , SFXBufferPtr result )
SFBHashCTX::Update() の呼び出し完了後にハッシュ結果を取得します。
Void Init( VoidPtr hash , SInt32 hashSize )
Init( SFXBufferPtr hash )
ハッシュ開始前、またはハッシュ処理を再開始するために呼び出します。
static
SFBHashCTXSmp
NewInstance( AEECLSID clsid )
SFBHashCTX インターフェイスのインスタンスを取得します。
Void Update( VoidPtr hash , SInt32 hashSize , VoidConstPtr data , SInt32 dataLength )
Update( SFXBufferPtr hash , SFXBufferConstRef data )
ハッシュオブジェクトにデータを供給します。
SFCError QueryInterface( AEECLSID clsid , VoidHandle handle ) (SFBQuery から継承)
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 から継承)
オブジェクトを単一インタフェースで実装する際に使用します。

SFBHashCTX::Final
SFBHashCTX::Update() の呼び出し完了後にハッシュ結果を取得します。
[ public ]
SFCError Final(
    VoidPtr hash           // ハッシュコンテキスト構造体へのポインタ。
    SInt32 hashSize        // ハッシュコンテキスト構造体のサイズ。
    VoidPtr result         // ハッシュ結果を取得するデータへのポインタ。
    SInt32Ptr resultSize   // バッファ result のサイズへのポインタ。リターン時は、ハッシュ結果のサイズが格納される。
);
[ public ]
SFCError Final(
    SFXBufferPtr hash     // ハッシュコンテキスト構造体へのポインタ。
    SFXBufferPtr result   // ハッシュ結果を取得するデータへのポインタ。サイズは自動的に変更される。
);

解説

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

参照

BREW API IHASHCTX_Final


SFBHashCTX::Init
ハッシュ開始前、またはハッシュ処理を再開始するために呼び出します。
[ public ]
Void Init(
    VoidPtr hash      // ハッシュコンテキスト構造体へのポインタ。
    SInt32 hashSize   // ハッシュコンテキスト構造体のサイズ。
);
[ public ]
Void Init(
    SFXBufferPtr hash   // ハッシュコンテキスト構造体へのポインタ。null の場合、何もしない。
);

解説

これは、新しいデータストリームをハッシュする場合に必要となります。

参照

BREW API IHASHCTX_Init


SFBHashCTX::NewInstance
SFBHashCTX インターフェイスのインスタンスを取得します。
[ public, static ]
SFBHashCTXSmp NewInstance(
    AEECLSID clsid   // ハッシュアルゴリズムの ClassID 
);

解説

使用できる ClassID には次のものがあります。

AEECLSID_MD2
AEECLSID_MD5
AEECLSID_SHA1


SFBHashCTX::Update
ハッシュオブジェクトにデータを供給します。
[ public ]
Void Update(
    VoidPtr hash        // ハッシュコンテキスト構造体へのポインタ。
    SInt32 hashSize     // ハッシュコンテキスト構造体のサイズ。
    VoidConstPtr data   // ハッシュするデータへのポインタ。
    SInt32 dataLength   // ハッシュする(data に格納された)データの長さ。
);
[ public ]
Void Update(
    SFXBufferPtr hash        // ハッシュコンテキスト構造体へのポインタ。null の場合、何もしない。
    SFXBufferConstRef data   // ハッシュするデータへのポインタ。
);

解説

不連続の長いデータストリームをハッシュする場合、 この関数を複数回呼び出します。

参照

BREW API IHASHCTX_Update