MIMEAssociationDialogW 函数 (intshcut.h)

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

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

语法

INTSHCUTAPI HRESULT MIMEAssociationDialogW(
        HWND   hwndParent,
        DWORD  dwInFlags,
        PCWSTR pcszFile,
        PCWSTR pcszMIMEContentType,
  [out] PWSTR  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 [仅限桌面应用]
目标平台 Windows
标头 intshcut.h
DLL Url.dll