DavGetTheLockOwnerOfFile 函数 (davclnt.h)

返回 WebDAV 服务器上锁定的文件的文件锁所有者。

语法

DWORD DavGetTheLockOwnerOfTheFile(
  [in]            LPCWSTR FileName,
  [out, optional] PWSTR   LockOwnerName,
  [in, out]       PULONG  LockOwnerNameLengthInBytes
);

参数

[in] FileName

指向以 null 结尾的 Unicode 字符串的指针,该字符串包含 WebDAV 服务器上锁定的文件的名称。 此字符串必须具有以下格式之一:

  • \\server\path\filename
  • drive:\filename
其中 ,server 是服务器的名称, path 是服务器上的远程文件的路径, 文件名 是有效的文件名, 驱动器 是远程共享在本地计算机上映射到的驱动器号。 (共享 是服务器上的目录,用户可通过网络访问。)

[out, optional] LockOwnerName

指向调用方分配的缓冲区的指针,该缓冲区接收文件锁的所有者的名称。 此参数是可选的,可以为 NULL。 如果为 NULL则 LockOwnerNameLengthInBytes 参数在输入时必须指向零。

[in, out] LockOwnerNameLengthInBytes

指向输入上的变量的指针指定 LockOwnerName 参数指向的缓冲区的最大大小(以 Unicode 字符为单位)。 如果函数成功,则输出时变量将接收复制到缓冲区中的字符数。 如果函数失败并出现ERROR_INSUFFICIENT_BUFFER,则输出时变量会收到存储锁所有者名称所需的字符数,包括终止 NULL 字符。

返回值

如果函数成功,则返回值为 ERROR_SUCCESS。

如果函数失败,则返回值是 系统错误代码,例如以下值之一。

返回代码 说明
ERROR_INSUFFICIENT_BUFFER
LockOwnerName 参数指向的缓冲区不够大,无法存储锁所有者名称。
ERROR_INVALID_PARAMETER
一个或多个参数值无效。 例如,如果 FileName 参数为 null 指针,则返回此错误代码。

备注

如果对 WebDAV 服务器上的文件的 CreateFile 等函数的调用失败并ERROR_LOCK_VIOLATION,可以使用 DavGetTheLockOwnerOfTheFile 函数来确定文件锁的所有者。

若要获取 LockOwnerName 缓冲区所需的缓冲区长度,请调用 DavGetTheLockOwnerOfFile并将 LockOwnerNameLengthInBytes 设置为 返回值为 ERROR_INSUFFICIENT_BUFFER,输出时 LockOwnerNameLengthInBytes 参数接收所需的缓冲区长度。

要求

   
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 [仅限桌面应用]
目标平台 Windows
标头 davclnt.h
Library Davclnt.lib
DLL Davclnt.dll