Condividi tramite


Metodo IVdsLun::Shrink (vdshwprv.h)

[A partire da Windows 8 e Windows Server 2012, l'interfaccia COM del servizio disco virtuale viene sostituita dall'API gestione archiviazione di Windows.]

Compatta un LUN in base a un numero specificato di byte.

Sintassi

HRESULT Shrink(
  [in]  ULONGLONG ullNumberOfBytesToRemove,
  [out] IVdsAsync **ppAsync
);

Parametri

[in] ullNumberOfBytesToRemove

Numero di byte in base al quale compattare il LUN. Non è necessario che il numero di byte sia pari a più dimensioni del blocco o del settore.

[out] ppAsync

Indirizzo di un puntatore all'interfaccia IVdsAsync . I chiamanti devono rilasciare l'interfaccia. Usare questa interfaccia per annullare, attendere o eseguire una query sullo stato dell'operazione.

Valore restituito

Questo metodo può restituire valori HRESULT standard, ad esempio E_INVALIDARG o E_OUTOFMEMORY e valori restituiti specifici di VDS. Può anche restituire codici di errore di sistema convertiti usando la macro HRESULT_FROM_WIN32 . Gli errori possono provenire dal VDS stesso o dal provider VDS sottostante in uso. I valori restituiti possibili includono quanto segue.

Codice/valore restituito Descrizione
VDS_E_PROVIDER_CACHE_CORRUPT
0x8004241FL
Questo valore restituito segnala un problema di comunicazione o software all'interno di un provider che memorizza nella cache le informazioni sulla matrice. Usare il metodo IVdsHwProvider::Reenumerate seguito dal metodo IVdsHwProvider::Refresh per ripristinare la cache.
VDS_E_OBJECT_DELETED
0x8004240BL
L'oggetto LUN non è più presente.
VDS_E_OBJECT_STATUS_FAILED
0x80042431L
Il LUN si trova in uno stato di errore e non è in grado di eseguire l'operazione richiesta.
VDS_E_ANOTHER_CALL_IN_PROGRESS
0x80042404L
Un'altra operazione è in corso; questa operazione non può continuare fino al completamento dell'operazione o delle operazioni precedenti.

Commenti

Gli implementatori devono restituire un puntatore all'interfaccia IVdsAsync per questo metodo, indipendentemente dal fatto che la chiamata avvii un'operazione asincrona.

Dopo la compattazione del LUN, il chiamante deve usare il codice di controllo IOCTL_DISK_UPDATE_PROPERTIES per rendere visibili le dimensioni aggiornate del disco nel computer in cui il LUN non è mascherato.

Gli implementatori devono rimuovere i byte dalla fine del LUN.

Requisiti

Requisito Valore
Client minimo supportato Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione vdshwprv.h
Libreria Uuid.lib

Vedi anche

IVdsAsync

IVdsHwProvider::Reenumerate

IVdsHwProvider::Refresh

IVdsLun

IVdsLun::Extend