Win32 API 日本語リファレンス
ホーム › UI.Controls.RichEdit › EDITSTREAMCALLBACK

EDITSTREAMCALLBACK

コールバック

シグネチャ

DWORD EDITSTREAMCALLBACK(
    UINT_PTR dwCookie,
    BYTE* pbBuff,
    INT cb,
    INT* pcb
);

パラメーター

フィールド型説明
dwCookieUINT_PTREDITSTREAM 構造体の dwCookie メンバーの値です。アプリケーションは、EM_STREAMIN メッセージまたは EM_STREAMOUT メッセージを送信するときに、この値を指定します。
pbBuffBYTE*読み取り元、または書き込み先のバッファーへのポインターです。ストリームイン (読み取り) 操作では、コールバック関数は、リッチエディットコントロールへ転送するデータをこのバッファーに格納します。ストリームアウト (書き込み) 操作では、バッファーにはコントロールから取得したデータが格納されており、コールバック関数はそれを何らかのストレージに書き込みます。
cbINT読み取り、または書き込みを行うバイト数です。
pcbINT*実際に読み取られた、または書き込まれたバイト数をコールバック関数が設定する変数へのポインターです。

公式ドキュメント

EditStreamCallback 関数は、EM_STREAMIN メッセージおよび EM_STREAMOUT メッセージと共に使用される、アプリケーション定義のコールバック関数です。リッチエディットコントロールへ、またはリッチエディットコントロールからデータのストリームを転送するために使用します。EDITSTREAMCALLBACK 型は、このコールバック関数へのポインターを定義します。EditStreamCallback は、アプリケーション定義の関数名を表すプレースホルダーです。

戻り値

型: DWORD

コールバック関数は、成功を示す場合に 0 を返します。

コールバック関数は、エラーを示す場合に 0 以外の値を返します。エラーが発生した場合、読み取りまたは書き込みの操作は終了し、リッチエディットコントロールは pbBuff バッファー内のデータを破棄します。コールバック関数が 0 以外の値を返した場合、リッチエディットコントロールは EDITSTREAM 構造体の dwError メンバーを使用して、その値をアプリケーションに返します。

解説(Remarks)

リッチエディットコントロールに EM_STREAMIN メッセージまたは EM_STREAMOUT メッセージを送信するとき、EDITSTREAM 構造体の pfnCallback メンバーで EditStreamCallback 関数へのポインターを指定します。リッチエディットコントロールはこの関数を繰り返し呼び出して、コントロールへ、またはコントロールからデータのストリームを転送します。

EM_STREAMIN メッセージまたは EM_STREAMOUT メッセージを送信するときには、EDITSTREAM 構造体の dwCookie メンバーの値を指定します。リッチエディットコントロールは、dwCookie パラメーターを使用して、この値をアプリケーションの EditStreamCallback 関数に渡します。たとえば、dwCookie を使用して、開いているファイルのハンドルを渡すことができます。コールバック関数は、その dwCookie ハンドルを使用して、ファイルの読み取りや書き込みを行えます。

コントロールはコールバック関数を繰り返し呼び出し、呼び出しごとにデータの一部を転送します。コントロールは、次のいずれかの条件が発生するまでコールバック関数の呼び出しを続けます。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)