filterAttach 函数 (fltuser.h)
FilterAttach 函数将新的微筛选器实例附加到给定卷。
语法
HRESULT FilterAttach(
[in] LPCWSTR lpFilterName,
[in] LPCWSTR lpVolumeName,
[in, optional] LPCWSTR lpInstanceName,
[in, optional] DWORD dwCreatedInstanceNameLength,
[out, optional] LPWSTR lpCreatedInstanceName
);
参数
[in] lpFilterName
指向以 null 结尾的宽字符字符串的指针,该字符串包含要为其创建实例的微筛选器的名称。 此参数是必需的,不能为 NULL。
[in] lpVolumeName
指向以 null 结尾的宽字符字符串的指针,该字符串包含新创建的实例要附加到的卷的名称。
lpVolumeName 输入字符串可以是以下任一项。 尾随反斜杠 (\) 是可选的。
- 驱动器号,例如“D:\”
- 卷装入点的路径,例如“c:\mnt\edrive\”
- 唯一卷标识符 (也称为卷 GUID 名称) ,例如“\??\Volume{7603f260-142a-11d4-ac67-806d6172696f}\”
- 非永久性设备名称 (也称为 目标名称 或 NT 设备名称) ,例如“\Device\HarddiskVolume1\”
[in, optional] lpInstanceName
指向以 null 结尾的宽字符字符串的指针,该字符串包含新实例的实例名称。 此参数是可选的,可以为 NULL。 如果此参数为 NULL,则新实例将接收微筛选器的默认实例名称,如 FltAttachVolume 的“备注”部分所述。
[in, optional] dwCreatedInstanceNameLength
lpCreatedInstanceName 指向的缓冲区的长度(以字节为单位)。 此参数是可选的,可以为零。
[out, optional] lpCreatedInstanceName
指向调用方分配的变量的指针,该变量在实例成功附加到卷时接收新实例的实例名称。 此参数是可选的,可以为 NULL。 如果它不为 NULL,则缓冲区必须足够大,以容纳INSTANCE_NAME_MAX_CHARS字符加上 NULL 终止符。
返回值
如果成功,FilterAttach 将返回S_OK。 否则,它将返回如下所示的错误值之一。
返回代码 | 说明 |
---|---|
|
指定卷上的此高度上已存在一个实例。 |
|
指定的卷上已存在具有此名称的实例。 |
|
如果 lpInstanceName 为非 NULL, 则 lpInstanceName 与注册表中已注册的筛选器实例名称不匹配。 |
注解
FilterAttach 是 FltAttachVolume 的 Win32 等效项。
lpInstanceName 中指定的实例名称在整个系统中必须是唯一的。
若要将微筛选器实例附加到给定高度的卷,请调用 FilterAttachAtAltitude。
若要从卷中分离微筛选器实例,请调用 FilterDetach。
要求
要求 | 值 |
---|---|
目标平台 | 通用 |
标头 | fltuser.h (包括 Fltuser.h) |
Library | FltLib.lib |
DLL | FltLib.dll |