VDS_HINTS struttura (vds.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.
Definisce gli hint automagic per un lun o un plex LUN.
Sintassi
typedef struct _VDS_HINTS {
ULONGLONG ullHintMask;
ULONGLONG ullExpectedMaximumSize;
ULONG ulOptimalReadSize;
ULONG ulOptimalReadAlignment;
ULONG ulOptimalWriteSize;
ULONG ulOptimalWriteAlignment;
ULONG ulMaximumDriveCount;
ULONG ulStripeSize;
BOOL bFastCrashRecoveryRequired;
BOOL bMostlyReads;
BOOL bOptimizeForSequentialReads;
BOOL bOptimizeForSequentialWrites;
BOOL bRemapEnabled;
BOOL bReadBackVerifyEnabled;
BOOL bWriteThroughCachingEnabled;
BOOL bHardwareChecksumEnabled;
BOOL bIsYankable;
SHORT sRebuildPriority;
} VDS_HINTS, *PVDS_HINTS;
Members
ullHintMask
Maschera di hint LUN. Ognuno dei membri BOOL di questa struttura ha un flag di hint corrispondente che può essere impostato nella maschera. Se il flag di hint è impostato, viene considerato l'hint corrispondente. Se il flag di hint non è impostato, l'hint viene ignorato. I flag hint sono descritti nella tabella seguente.
ullExpectedMaximumSize
Dimensione massima a cui si prevede che il LUN venga a crescere, in byte. Il valore può essere uguale a, maggiore o minore del valore specificato in ullSizeInBytes quando viene chiamato il metodo IVdsSubSystem::CreateLun . Alcuni provider usano questo valore per riservare lo spazio per il LUN. I provider che non possono riservare spazio in genere ignorano questo parametro.
ulOptimalReadSize
Dimensioni di lettura ottimali per il LUN, in byte. Zero indica nessuna dimensione di lettura ottimale.
ulOptimalReadAlignment
Allineamento di lettura ottimale rispetto al primo blocco logico del LUN. Zero indica un allineamento di lettura ottimale.
ulOptimalWriteSize
Dimensioni di scrittura ottimali per il LUN, in byte. Zero indica nessuna dimensione di scrittura ottimale.
ulOptimalWriteAlignment
Allineamento di scrittura ottimale rispetto al primo blocco logico del LUN. Zero indica un allineamento di scrittura ottimale.
ulMaximumDriveCount
Numero massimo di unità da contribuire al LUN. Zero indica nessun numero massimo di unità. Questo valore può essere usato per limitare il numero di interleaves di strip in un set di strisce.
ulStripeSize
Dimensione dell'interleave mirror o della parità, in byte. Zero lascia invariate le dimensioni della striscia.
bFastCrashRecoveryRequired
Se questo membro è TRUE, il tempo di ripristino è limitato. Impostare il flag VDS_HINT_FASTCRASHRECOVERYREQUIRED nel membro ullHintMask per indicare l'interesse in questo membro.
bMostlyReads
Per ottimizzare per un modello di utilizzo di lettura principalmente (ad esempio, tramite mirroring anziché striping di parità), impostare questo membro su TRUE. In caso contrario, impostarlo su FALSE. Impostare il flag VDS_HINT_MOSTLYREADS nel membro ullHintMask per indicare l'interesse in questo membro.
bOptimizeForSequentialReads
Per ottimizzare un modello di utilizzo di lettura sequenziale, impostare questo membro su TRUE. In caso contrario, impostarlo su FALSE. Impostazione dei membri bOptimizeForSequentialReads e bOptimizeForSequentialWrites sia su FALSE ottimizza per l'I/O casuale. Impostare il flag di VDS_HINT_OPTIMIZEFORSEQUENTIALREADS nel membro ullHintMask per indicare l'interesse in questo membro.
bOptimizeForSequentialWrites
Per ottimizzare un modello di utilizzo di scrittura sequenziale, impostare su TRUE. In caso contrario, impostarlo su FALSE. Impostazione dei membri bOptimizeForSequentialReads e bOptimizeForSequentialWrites sia su FALSE ottimizza per l'I/O casuale. Impostare il flag di VDS_HINT_OPTIMIZEFORSEQUENTIALWRITES nel membro ullHintMask per indicare l'interesse in questo membro.
bRemapEnabled
Se questo membro è TRUE, il provider esegue il mapping automatico degli extent LUN per l'estensione dell'unità. Se è FALSE, il mapping degli extent LUN per le unità rimane fisso dopo la configurazione LUN, a meno che non vengano ricompressi in modo esplicito i extent per evitare blocchi danneggiati. Impostare il flag VDS_HINT_REMAPENABLED nel membro ullHintMask per indicare l'interesse di questo membro.
bReadBackVerifyEnabled
Se questo membro è impostato su TRUE, il provider verifica le scritture nel LUN tramite readback. Se è impostato su FALSE, il provider non verifica le scritture. Impostare il flag VDS_HINT_READBACKVERIFYENABLED nel membro ullHintMask per indicare l'interesse in questo membro.
bWriteThroughCachingEnabled
Se questo membro è TRUE, il provider abilita la memorizzazione nella cache write-through nel LUN. Se è FALSE, il provider non abilita la memorizzazione nella cache in scrittura. Impostare il flag VDS_HINT_WRITETHROUGHCACHINGENABLED nel membro ullHintMask per indicare l'interesse in questo membro.
bHardwareChecksumEnabled
Se questo membro è TRUE, il provider abilita un checksum nel LUN. Impostare il flag VDS_HINT_HARDWARECHECKSUMENABLED nel membro ullHintMask per indicare l'interesse di questo membro.
bIsYankable
Se questo membro è TRUE, le unità che contribuiscono al LUN possono essere rimosse fisicamente senza interruzioni significative al sistema (questo è in genere vero quando il LUN è composto da solo poche unità). Se è FALSE, il LUN non può essere rimosso senza interruzioni significative al sistema. Impostare il flag VDS_HINT_ISYANKABLE nel membro ullHintMask per indicare l'interesse di questo membro.
sRebuildPriority
Priorità di ricompilazione per il LUN. Il valore può variare da 0 (priorità più bassa) a 15 (priorità più alta).
Commenti
Il metodo IVdsSubSystem::CreateLun passa questa struttura come parametro per fornire hint per la creazione di un LUN. Viene passato come parametro nel metodo ApplyHints rispettivamente nelle interfacce IVdsLun e IVdsLunPlex per applicare rispettivamente un nuovo set di hint a un LUN o lun. Inoltre, viene restituito dal metodo QueryHints rispettivamente nelle interfacce IVdsLun e IVdsLunPlex per segnalare gli hint attualmente applicati a un lun o a un plex LUN.
Gli hint non sono direttive per l'implementazione. Anche se gli implementatori sono in generale previsti per prendere in considerazione i loro suggerimenti, non sono obbligati a seguirli. Gli implementatori possono scegliere alternative quando non è possibile seguire gli hint specificati per motivi tecnici o quando li segue possono causare una configurazione scarsa.
Requisiti
Client minimo supportato | Windows Vista [solo app desktop] |
Server minimo supportato | Windows Server 2003 [solo app desktop] |
Intestazione | vds.h |