VARSTRING
The VARSTRING
structure is used for returning variably sized strings. It is used both by the
line device class and the phone device class.
typedef struct varstring_tag {
DWORD dwTotalSize;
DWORD dwNeededSize;
DWORD dwUsedSize;
DWORD dwStringFormat;
DWORD dwStringSize;
DWORD dwStringOffset;
} VARSTRING, FAR *LPVARSTRING;
Members
dwTotalSize
The total
size in bytes allocated to this data structure.
dwNeededSize
The size in
bytes for this data structure that is needed to hold all the returned
information.
dwUsedSize
The size in
bytes of the portion of this data structure that contains useful information.
dwStringFormat
The format of
the string. This parameter uses the following STRINGFORMAT_ constants:
STRINGFORMAT_ASCII
ASCII string
format using one byte per character. The actual string is a NULL-terminated
ASCII string with the terminating NULL accounted for in the string size.
STRINGFORMAT_DBCS
DBCS string
format using one or two bytes per character.
STRINGFORMAT_UNICODE
Unicode
string format using two bytes per character.
STRINGFORMAT_BINARY
An array of
unsigned characters that could be used for numeric values.
dwStringSize
dwStringOffset
The size in
bytes of the variably sized device field containing the string information, and
the offset in bytes from the beginning of this data structure.
Remarks
No
extensibility.
If a string
cannot be returned in a variable structure, the dwStringSize and dwStringOffset
members are set in one of these ways:
dwStringSize and dwStringOffset
members are both set to zero.
dwStringOffset is
nonzero and dwStringSize is zero.
dwStringOffset is
nonzero, dwStringSize is 1, and the byte at the given offset is 0.