Client Transitions

Microsoft SQL Server Virtual Backup

Microsoft SQL Server Virtual Backup Device Specification

Client Transitions

These tables display the full set of client transitions. They also list the functions associated with the IClientVirtualDevice and the IClientVirtualDeviceSet2, the possible states when the functions can be invoked, and the status code to be expected when a function is invoked. A list of status codes and their descriptions follows the Client Transitions tables. If the invocation of the function results in a state change, then the next state is given, identified by the symbol —>. When all resources are released, the VDI no longer exists and a transition to the Does Not Exist (DNE) state occurs.

Functions Does Not Exist State Configurable State Initializing State
Create,CreateEx NOERROR —> Configurable VD_E_PROTOCOL VD_E_PROTOCOL
GetConfiguration VD_E_PROTOCOL NOERROR-> Initializing NOERROR
OpenDevice VD_E_PROTOCOL VD_E_PROTOCOL NOERROR ® Active
GetCommand VD_E_PROTOCOL VD_E_PROTOCOL VD_E_PROTOCOL
CompleteCommand VD_E_PROTOCOL VD_E_PROTOCOL VD_E_PROTOCOL
SignalAbort VD_E_PROTOCOL NOERROR —> Abort NOERROR —> Abort
Close VD_E_PROTOCOL NOERROR —> DNE NOERROR —> DNE
Functions Active State Normally Terminated State Abort State
Create VD_E_PROTOCOL VD_E_PROTOCOL VD_E_PROTOCOL
GetConfiguration NOERROR NOERROR VD_E_ABORT
OpenDevice VD_E_PROTOCOL VD_E_PROTOCOL VD_E_ABORT
GetCommand NOERROR or

VD_E_CLOSE -> NormallyTerminated

VD_E_PROTOCOL VD_E_ABORT
CompleteCommand NOERROR VD_E_PROTOCOL VD_E_ABORT
SignalAbort NOERROR —> Abort NOERROR —> Abort NOERROR
Close NOERROR —> DNE NOERROR —> DNE NOERROR —> DNE

Status Code Description
NOERROR The function succeeded.
VD_E_PROTOCOL A protocol error has occurred. The function cannot be called in this state.
VD_E_ABORT The VDI is in the Abort state. Only Close is useful while in the Abort state.
VD_E_CLOSE When the server issues a CloseDevice call, the client will receive a VD_E_CLOSE code from GetCommand. When the last device in the set returns a VD_E_CLOSE, the virtual device set enters the NormallyTerminated state.