getFileBandwidthReservation 函数 (winbase.h)

检索指定文件所在的卷的带宽预留属性。

语法

BOOL GetFileBandwidthReservation(
  [in]  HANDLE  hFile,
  [out] LPDWORD lpPeriodMilliseconds,
  [out] LPDWORD lpBytesPerPeriod,
  [out] LPBOOL  pDiscardable,
  [out] LPDWORD lpTransferSize,
  [out] LPDWORD lpNumOutstandingRequests
);

参数

[in] hFile

文件的句柄。

[out] lpPeriodMilliseconds

指向一个变量的指针,该变量接收预留期(以毫秒为单位)。 时间段是向内核发出 I/O,直到完成 I/O 的时间。 如果没有为此句柄保留带宽,则返回的值是此卷支持的最小预留期。

[out] lpBytesPerPeriod

指向变量的指针,该变量接收可在卷上保留的每个周期的最大字节数。 如果没有为此句柄保留带宽,则返回的值是卷支持的每个周期的最大字节数。

[out] pDiscardable

如果驱动程序在期限到期前无法满足 I/O 操作,则 I/O 应完成并出现错误,则为 TRUE。 如果基础子系统不支持以这种方式失败,则为 FALSE

[out] lpTransferSize

应用程序可能发出的任何单个 I/O 请求的最小大小。 所有 I/O 请求都应是 TransferSize 的倍数。 如果没有为此句柄保留带宽,则返回的值是此卷支持的最小传输大小。

[out] lpNumOutstandingRequests

允许在操作系统中未完成的 TransferSize 区块数。

返回值

如果成功,则返回非零值,否则返回零。

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

注解

在 Windows 8 和 Windows Server 2012 中,此函数由以下技术支持。

技术 支持
服务器消息块 (SMB) 3.0 协议
SMB 3.0 透明故障转移 (TFO)
具有横向扩展文件共享的 SMB 3.0 (SO)
群集共享卷文件系统 (CSV)
弹性文件系统 (ReFS)

要求

要求
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 [仅限桌面应用]
目标平台 Windows
标头 winbase.h (包括 Windows.h)
Library Kernel32.lib
DLL Kernel32.dll

另请参阅

文件管理函数

SetFileBandwidthReservation