IClientVirtualDeviceSet2::Close (VDI)IClientVirtualDeviceSet2::Close (VDI)

Se aplica a:Applies to: síSQL ServerSQL Server (todas las versiones admitidas) yesSQL ServerSQL Server (all supported versions) Se aplica a:Applies to: síSQL ServerSQL Server (todas las versiones admitidas) yesSQL ServerSQL Server (all supported versions)

La función Close cierra el conjunto de dispositivos virtuales creado por IClientVirtualDeviceSet2::Create.The Close function closes the virtual device set created by IClientVirtualDeviceSet2::Create. Como resultado, se liberan todos los recursos asociados al conjunto de dispositivos virtuales.It results in the release of all resources associated with the virtual device set.

SintaxisSyntax

HRESULT IClientVirtualDeviceSet2::Close ();

Valor devueltoReturn Value

Valor devueltoReturn Value ExplicaciónExplanation
NOERRORNOERROR Se devuelve cuando el conjunto de dispositivos virtuales se ha cerrado correctamente.This is returned when the virtual device set was successfully closed.
VD_E_PROTOCOLVD_E_PROTOCOL No se realizó ninguna acción porque el conjunto de dispositivos virtuales no estaba abierto.No action was taken because the virtual device set was not open.
VD_E_OPENVD_E_OPEN Los dispositivos aún estaban abiertos.Devices were still open.

ObservacionesRemarks

La invocación de Close es una declaración por parte del cliente de que se deben liberar todos los recursos usados por el conjunto de dispositivos virtuales.The invocation of Close is a declaration by the client that all resources used by the virtual device set should be released. El cliente debe asegurarse de que toda actividad que implique búferes de datos y dispositivos virtuales haya finalizado antes de invocar Close.The client must ensure that all activity involving data buffers and virtual devices is terminated before invoking Close. Todas las interfaces de dispositivo virtual devueltas por OpenDevice se invalidan con Close.All virtual device interfaces returned by OpenDevice are invalidated by Close.

El cliente puede emitir una llamada a Create en la interfaz del conjunto de dispositivos virtuales después de que se devuelva la llamada a Close.The client is permitted to issue a Create call on the virtual device set interface after the Close call returns. Esta llamada crearía un nuevo conjunto de dispositivos virtuales para una operación BACKUP o RESTORE posterior.Such a call would create a new virtual device set for a subsequent BACKUP or RESTORE operation.

Si se llama a Close cuando uno o más dispositivos virtuales están todavía abiertos, se devuelve VD_E_OPEN.If Close is called when one or more virtual devices are still open, VD_E_OPEN is returned. En este caso, SignalAbort se desencadena internamente para garantizar un apagado adecuado si es posible.In this case, SignalAbort is internally triggered, to ensure a proper shutdown if possible. Se publican los recursos de VDI.VDI resources are released. El cliente debe esperar una indicación VD_E_CLOSE en cada dispositivo antes de invocar IClientVirtualDeviceSet2::Close.The client should wait for a VD_E_CLOSE indication on each device before invoking IClientVirtualDeviceSet2::Close. Si el cliente sabe que el conjunto de dispositivos virtuales ya está en un estado de finalización anómala, no debería esperar una indicación VD_E_CLOSE por parte de GetCommand y puede invocar IClientVirtualDeviceSet2::Close tan pronto como finalice la actividad en los búferes compartidos.If the client knows that the virtual device set is already in an Abnormally Terminated state, then it should not expect a VD_E_CLOSE indication from GetCommand, and may invoke IClientVirtualDeviceSet2::Close as soon as activity on the shared buffers is terminated.

Pasos siguientesNext steps

Para más información, vea la información general de la referencia de interfaces de dispositivo virtual de SQL Server.For more information, see the SQL Server virtual device interface reference overview.