IServerVirtualDeviceSet2::RequestBuffers

Microsoft SQL Server Virtual Backup

Microsoft SQL Server Virtual Backup Device Specification

IServerVirtualDeviceSet2::RequestBuffers

Purpose This function informs the VDI that the server will need a certain number of buffers with a given size and alignment requirement.
Syntax HRESULT IServerVirtualDeviceSet2::RequestBuffers (

   DWORD   dwSize,

   DWORD   dwAlignment,

   DWORD   dwCount

);

Parameters Argument Explanation
  dwSize Identifies the size of each buffer. This size should only include the region needed for data. The VDI takes care of any alignment and prefix requirements.
  dwAlignment The alignment required for these buffers. A value more restrictive than the basic alignment value specified with 'BeginConfiguration' may be used. If the value is 0, it will default to the basic alignment value.
  dwCount The number of buffers which will be requested by 'AllocateBuffer' with the given size and alignment.
Return Values Argument Explanation
  NOERROR The function succeeded.
  VD_E_ABORT Abort was requested.
  VD_E_PROTOCOL The set is not in a state in which buffer allocations may be declared (see the state transition matrix).
  VD_E_MEMORY The requested memory could not be obtained.
Remarks This method should be used before buffers are allocated with AllocateBuffer. Sets of buffers with a given size and alignment are requested with RequestBuffers and then individual buffers are allocated with AllocateBuffer.

During the configuration phase, RequestBuffers calls are "summed" together so that at the EndConfiguration call a single buffer area can be used (it is allocated at that time). After configuration is complete, any RequestBuffers calls result in immediate allocation of more buffer space.