SetupDecompressOrCopyFileA 函数 (setupapi.h)

[此函数可用于“要求”部分所示的操作系统。 它可能在后续版本中变更或不可用。 安装程序API 不应再用于安装应用程序。 请改用 Windows 安装程序来开发应用程序安装程序。 SetupAPI 继续用于安装设备驱动程序。]

SetupDecompressOrCopyFile 函数会复制文件,并在必要时将其解压缩。

如果复制了文件,则此函数的调用方需要具有写入目标目录的权限。

语法

WINSETUPAPI DWORD SetupDecompressOrCopyFileA(
  [in] PCSTR SourceFileName,
  [in] PCSTR TargetFileName,
  [in] PUINT CompressionType
);

参数

[in] SourceFileName

要复制的文件的文件名。 应使用 以 null 结尾的字符串。 此参数可以为 NULL。 如果未指定 CompressionType ,并且 SetupDecompressOrCopyFile 函数找不到 SourceFileName 中指定的文件,则函数将搜索最多具有两个备用“compressed-form”名称的文件。 例如,如果文件 F:\x86\cmd.exe 但找不到,则函数将搜索 F:\x86\cmd.ex_ 如果找不到,则搜索 F:\x86\cmd.ex$。 如果指定 CompressionType ,则不会对文件名执行其他处理;文件必须完全按照指定存在,否则函数将失败。

[in] TargetFileName

将通过解压缩或复制源文件创建的目标文件的确切名称。 应使用 以 null 结尾的字符串。

[in] CompressionType

指向源文件上使用的压缩类型的可选指针。 可以通过调用 SetupGetFileCompressionInfo 来确定压缩类型。 如果此值FILE_COMPRESSION_NONE,则无论源上使用何种压缩,文件都会复制 (不解压缩) 。 如果未指定 CompressionType ,则此例程会自动确定压缩类型。

返回值

SetupDecompressOrCopyFile 函数返回指示操作结果的系统错误代码

要获得更多的错误信息,请调用 GetLastError。

注解

注意

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

要求

要求
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 setupapi.h
Library Setupapi.lib
DLL Setupapi.dll

请参阅

函数

概述

SetupGetFileCompressionInfo