MIMEAssociationDialogA 函数 (intshcut.h)

运行未注册的 MIME 内容类型对话框。

注意 Windows XP Service Pack 2(SP2)或更高版本:此函数不再受支持。
 

语法

INTSHCUTAPI HRESULT MIMEAssociationDialogA(
        HWND  hwndParent,
        DWORD dwInFlags,
        PCSTR pcszFile,
        PCSTR pcszMIMEContentType,
  [out] PSTR  pszAppBuf,
        UINT  ucAppBufLen
);

参数

hwndParent

类型:HWND

任何已发布子窗口的父窗口的句柄。

dwInFlags

类型:DWORD

一个位标志值,该值指定是否要注册关联。 位标志是值MIMEASSOCDLG_FL_REGISTER_ASSOC(0x0001)。 如果设置了此位,则所选应用程序将注册为给定 MIME 类型的处理程序。 如果此位是明确的,则不注册任何关联。

仅当设置此标志并且用户指示要进行持久关联时,才会注册应用程序。

如果 pcszFile 处的字符串不包含扩展,则无法注册。

pcszFile

类型:PCTSTR

包含目标文件名称的以 null 结尾的字符串的地址。 此文件必须符合 pcszMIMEContentType 参数描述的内容类型。

pcszMIMEContentType

类型:PCTSTR

包含未注册内容类型的以 null 结尾的字符串的地址。

[out] pszAppBuf

类型:PTSTR

指向缓冲区的指针,当此函数成功返回时,接收用户指定的应用程序的路径。

ucAppBufLen

类型:UINT

pszAppBuf的大小(以字符为单位)。

返回值

类型:HRESULT

注意, 从 Windows XP SP2 开始,此函数不受支持,并且在所有情况下都返回E_NOTIMPL。
 
在受支持的系统中,如果内容类型已成功与扩展关联,则返回S_OK。 在这种情况下,扩展将作为内容类型的默认值关联,pszAppBuf 指向包含指定应用程序路径的字符串。 如果未注册任何内容,该函数将返回S_FALSE。 否则,返回值将是下列值之一:
返回代码 描述
E_ABORT
用户取消了该操作。
E_FLAGS
传入 dwInFlags 的标志组合无效。
E_OUTOFMEMORY
内存不足,无法完成操作。
E_POINTER
其中一个输入指针无效。

言论

此函数不会验证 pcszMIMEContentType处输入内容类型字符串的语法。 成功的返回值不指示指定的 MIME 内容类型有效。

注意

intshcut.h 标头将 MIMEAssociationDialog 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的 约定。

要求

要求 价值
最低支持的客户端 Windows XP [仅限桌面应用]
支持的最低服务器 Windows 2000 Server [仅限桌面应用]
目标平台 窗户
标头 intshcut.h
DLL Url.dll