# VAPINM_TEXTBUFFER

## Description

Returns a text buffer.

## Syntax

    #include <kvvapi.h>
    VAPINM_TEXTBUFFER = uMsg;
    (wParam is unused).
    TPVAPITextInfo lpTextInfo = (TPVAPITextInfo*) lParam;

## Arguments

Argument | Description
--- | ---
`lpTextInfo` | Pointer to a TPVAPITextInfo structure that defines the text buffer.

## Returns

None

## Discussion

- The `lpTextInfo->cbText` parameter is the number of bytes of text in the buffer. Typically, the buffer is approximately 4 KB, but might be larger. It cannot exceed 10 KB.

  Text buffers are usually created at an even boundary, such as the end of a paragraph, table row, or page column. However, if a table row or page column contains a large amount of text, it might be split across text buffers to make sure that `lpTextInfo->cbText` does not exceed 10 K. Individual words are never split across buffers. If `lpTextInfo` is `NULL`, the end of the document is reached.

- The `lpTextInfo->lpText` parameter is a pointer to the buffer of characters. Typically, the buffer is in the Windows ANSI character set; however, the Viewing API allows the user to select either the OEM or ANSI character set for text files. Depending on your integration of Viewing, this might or might not be an issue.

  The buffer is zero-terminated. The terminator is not counted in the byte count. The text is an allocated buffer returned to the system upon return of this message. Therefore, you can write within this buffer if it is convenient.

  Embedded control codes exist as follows:

  `KV_EOP` | `0x01` | End of paragraph.
  `KV_EOC` | `0x02` | End of cell.
  `KV_PIC` | `0x03` | Picture exists at this logical address.

- To form a logical address from a `TEXTBUFFER` message, take the base address and add to it the number of `BYTES` from the start of the text buffer (`lpText`) that the base address references.

  For example, the following `TEXTBUFFER` messages might occur in a document:

      { 0, 1000, xxxx } { 1000, 2300, yyyy } { 3300, 1000, zzzz }

  In this case, addresses 0 through 999 exist in the first `TEXTBUFFER`, addresses 1000 through 3299 in the second buffer, and 3300 through 4299 in the third buffer.

_FT_HTML5_bannerTitle.htm