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