IDvdInfo2::GetDVDTextStringAsNative 方法 (strmif.h)

[与此页面关联的功能 DirectShow 是旧版功能。 它已被 MediaPlayerIMFMediaEngineMedia Foundation 中的音频/视频捕获所取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能在 Media Foundation 中使用 MediaPlayerIMFMediaEngine音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 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

指向接收文本字符串的缓冲区的指针。 如果 pchBufferNULL,此方法返回 pulActualSize 中字符串的大小。

[in] ulMaxBufferSize

pchBuffer 的大小(以字节为单位)

[out] pulActualSize

接收字符串的实际长度(以字节为单位),包括终止 NULL

[out] pType

接收 DVD_TextStringType 枚举的成员。 值指示文本字符串的类型,例如电影标题或歌曲名称。 此参数还可以接收 DVD_TextStringType 枚举中未定义的值。

返回值

返回以下 HRESULT 值之一。

返回代码 说明
S_OK
成功。
E_POINTER
无效的参数。
E_UNEXPECTED
发生意外内部错误。

注解

此方法以原始字节数组的形式返回 DVD 文本字符串,不进行转换。 可以使用此方法获取使用 Unicode 或 7 位 ASCII (ISO/IEC 646) (如 JIS 罗马汉字)的字符集进行编码的文本字符串。 若要查找字符集,请调用 IDvdInfo2::GetDVDTextLanguageInfo

对于 Unicode 和 ASCII 文本字符串,可以使用 IDvdInfo2::GetDVDTextStringAsUnicode 方法,该方法返回宽字符字符串。

返回的字符串始终包含单个终止 NULL 字节。 如果缓冲区小于 DVD 文本字符串的长度,则字符串将被截断。 若要查找缓冲区的所需大小,请在 pchBuffer 等于 NULLulMaxBufferSize 等于零的情况下调用方法一次。 大小以 pulActualSize 返回。 然后分配缓冲区并再次调用 方法。

要求

要求
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 strmif.h (包括 Dshow.h)
Library Strmiids.lib

另请参阅

DVD 应用程序

错误和成功代码

IDvdInfo2 接口

使用 DVD 文本字符串