Поделиться через


Метод IDvdInfo2::GetDVDTextStringAsNative (strmif.h)

[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует, чтобы новый код использовал MediaPlayer, IMFMediaEngine и аудио- и видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, использующий устаревшие API, чтобы по возможности использовать новые API.]

Метод GetDVDTextStringAsNative извлекает текстовую строку DVD для указанного языка и возвращает текстовую строку в виде массива байтов.

Синтаксис

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

Параметры

[in] ulLangIndex

Отсчитываемый от нуля индекс языка. Чтобы найти количество языков текстовых строк на DVD-диске, вызовите IDvdInfo2::GetDVDTextNumberOfLanguages.

[in] ulStringIndex

Отсчитываемый от нуля индекс извлекаемой строки. Чтобы найти количество строк для заданного языка, вызовите IDvdInfo2::GetDVDTextLanguageInfo.

[out] pbBuffer

Указатель на буфер, получающий текстовую строку. Если pchBuffer имеет значение NULL, этот метод возвращает размер строки в pulActualSize.

[in] ulMaxBufferSize

Размер pchBuffer в байтах

[out] pulActualSize

Получает фактическую длину строки в байтах, включая завершающее значение NULL.

[out] pType

Получает член перечисления DVD_TextStringType . Значение указывает тип текстовой строки, например название фильма или название песни. Этот параметр также может получать значения, не определенные в перечислении DVD_TextStringType .

Возвращаемое значение

Возвращает одно из следующих значений HRESULT .

Код возврата Описание
S_OK
Успешно.
E_POINTER
Недопустимый аргумент.
E_UNEXPECTED
Произошла непредвиденная внутренняя ошибка.

Комментарии

Этот метод возвращает текстовую строку DVD в виде необработанного массива байтов без преобразований. Этот метод можно использовать для получения текстовых строк, которые кодируются с помощью символьных наборов, отличных от Юникода, или 7-разрядных ASCII (ISO/IEC 646), таких как JIS Roman Kanji. Чтобы найти набор символов, вызовите IDvdInfo2::GetDVDTextLanguageInfo.

Для текстовых строк Юникода и ASCII можно использовать метод IDvdInfo2::GetDVDTextStringAsUnicode , который возвращает строку расширенных символов.

Возвращаемая строка всегда содержит один завершающий байт NULL . Если буфер меньше длины текстовой строки DVD, строка усекается. Чтобы найти требуемый размер буфера, вызовите метод один раз с pchBufferравным NULL и ulMaxBufferSize равным нулю. Размер возвращается в pulActualSize. Затем выделите буфер и вызовите метод еще раз.

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header strmif.h (включая Dshow.h)
Библиотека Strmiids.lib

См. также раздел

Приложения DVD

Коды ошибок и успешного выполнения

Интерфейс IDvdInfo2

Работа с текстовыми строками DVD