IDvdInfo2::GetDVDTextStringAsNative method (strmif.h)

[The feature associated with this page, DirectShow, is a legacy feature. It has been superseded by MediaPlayer, IMFMediaEngine, and Audio/Video Capture in Media Foundation. Those features have been optimized for Windows 10 and Windows 11. Microsoft strongly recommends that new code use MediaPlayer, IMFMediaEngine and Audio/Video Capture in Media Foundation instead of DirectShow, when possible. Microsoft suggests that existing code that uses the legacy APIs be rewritten to use the new APIs if possible.]

The GetDVDTextStringAsNative method retrieves a DVD text string for a specified language, and returns the text string as an array of bytes.

Syntax

HRESULT GetDVDTextStringAsNative(
  [in]  ULONG              ulLangIndex,
  [in]  ULONG              ulStringIndex,
  [out] BYTE               *pbBuffer,
  [in]  ULONG              ulMaxBufferSize,
  [out] ULONG              *pulActualSize,
  [out] DVD_TextStringType *pType
);

Parameters

[in] ulLangIndex

Zero-based index of the language. To find the number of text-string languages on the DVD, call IDvdInfo2::GetDVDTextNumberOfLanguages.

[in] ulStringIndex

Zero-based index of the string to retrieve. To find the number of strings for a given language, call IDvdInfo2::GetDVDTextLanguageInfo.

[out] pbBuffer

Pointer to a buffer that receives the text string. If pchBuffer is NULL, this method returns the size of the string in pulActualSize.

[in] ulMaxBufferSize

Size of the pchBuffer in bytes

[out] pulActualSize

Receives the actual length of the string in bytes, including the terminating NULL.

[out] pType

Receives a member of the DVD_TextStringType enumeration. The value indicates the type of text string, such as movie title or song name. This parameter can also receive values that are not defined in the DVD_TextStringType enumeration.

Return value

Returns one of the following HRESULT values.

Return code Description
S_OK
Success.
E_POINTER
Invalid argument.
E_UNEXPECTED
An unexpected internal error occurred.

Remarks

This method returns a DVD text string as a raw byte array, with no conversions. You can use this method to get text strings that are encoded using character sets other than Unicode or 7-bit ASCII (ISO/IEC 646), such as JIS Roman Kanji. To find the character set, call IDvdInfo2::GetDVDTextLanguageInfo.

For Unicode and ASCII text strings, you can use the IDvdInfo2::GetDVDTextStringAsUnicode method, which returns a wide-character string.

The returned string always includes a single terminating NULL byte. If the buffer is smaller than the length of the DVD text string, the string is truncated. To find the required size of the buffer, call the method once with pchBuffer equal to NULL and ulMaxBufferSize equal to zero. The size is returned in pulActualSize. Then allocate a buffer and call the method again.

Requirements

Requirement Value
Minimum supported client Windows XP [desktop apps only]
Minimum supported server Windows Server 2003 [desktop apps only]
Target Platform Windows
Header strmif.h (include Dshow.h)
Library Strmiids.lib

See also

DVD Applications

Error and Success Codes

IDvdInfo2 Interface

Working with DVD Text Strings