IClientVirtualDeviceSet2::GetBufferHandle

Microsoft SQL Server Virtual Backup

Microsoft SQL Server Virtual Backup Device Specification

IClientVirtualDeviceSet2::GetBufferHandle

Purpose Some applications may require more than one process to operate on the buffers returned by IClientVirtualDevice2::GetCommand. In such cases, the process that receives the command can use GetBufferHandle to obtain a process independent handle that identifies the buffer. This handle can then be communicated to any other process that also has the same Virtual Device Set open. That process would then use IClientVirtualDeviceSet2::MapBufferHandle to obtain the address of the buffer. The address will likely be a different address than in its partner because each process may be mapping buffers at different addresses.
Syntax HRESULT IClientVirtualDeviceSet2::GetBufferHandle (

   BYTE*         pBuffer,

   DWORD*      pBufferHandle

);

Parameters Argument Explanation
  pBuffer This is the address of a buffer obtained from a Read or Write command.
  pBufferHandle A unique identifier for the buffer is returned.
Return Values Argument Explanation
  NOERROR The function succeeded.
  VD_E_PROTOCOL The virtual device set is not currently open.
  VD_E_INVALID The pBuffer is not a valid address.
Remarks The process that invokes the GetBufferHandle function is responsible for invoking IClientVirtualDevice2::CompleteCommand when the data transfer is complete.