IDvdInfo2::GetDVDTextStringAsNative 方法 (strmif.h)
[与此页面关联的功能 DirectShow 是旧版功能。 它已被 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音频/视频捕获所取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能在 Media Foundation 中使用 MediaPlayer、 IMFMediaEngine 和 音频/视频捕获 ,而不是 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
指向接收文本字符串的缓冲区的指针。 如果 pchBuffer 为 NULL,此方法返回 pulActualSize 中字符串的大小。
[in] ulMaxBufferSize
pchBuffer 的大小(以字节为单位)
[out] pulActualSize
接收字符串的实际长度(以字节为单位),包括终止 NULL。
[out] pType
接收 DVD_TextStringType 枚举的成员。 值指示文本字符串的类型,例如电影标题或歌曲名称。 此参数还可以接收 DVD_TextStringType 枚举中未定义的值。
返回值
返回以下 HRESULT 值之一。
返回代码 | 说明 |
---|---|
|
成功。 |
|
无效的参数。 |
|
发生意外内部错误。 |
注解
此方法以原始字节数组的形式返回 DVD 文本字符串,不进行转换。 可以使用此方法获取使用 Unicode 或 7 位 ASCII (ISO/IEC 646) (如 JIS 罗马汉字)的字符集进行编码的文本字符串。 若要查找字符集,请调用 IDvdInfo2::GetDVDTextLanguageInfo。
对于 Unicode 和 ASCII 文本字符串,可以使用 IDvdInfo2::GetDVDTextStringAsUnicode 方法,该方法返回宽字符字符串。
返回的字符串始终包含单个终止 NULL 字节。 如果缓冲区小于 DVD 文本字符串的长度,则字符串将被截断。 若要查找缓冲区的所需大小,请在 pchBuffer 等于 NULL 且 ulMaxBufferSize 等于零的情况下调用方法一次。 大小以 pulActualSize 返回。 然后分配缓冲区并再次调用 方法。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | strmif.h (包括 Dshow.h) |
Library | Strmiids.lib |