VDS_HINTS構造体 (vdshwprv.h)
[Windows 8とWindows Server 2012以降、仮想ディスク サービス COM インターフェイスは Windows Storage Management API に置き換えられます。
LUN または LUN プレックスの自動マジック ヒントを定義します。
構文
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;
メンバー
ullHintMask
LUN ヒント マスク。 この構造体の各 BOOL メンバーには、マスクで設定できる対応するヒント フラグがあります。 ヒント フラグが設定されている場合、対応するヒントが考慮されます。 ヒント フラグが設定されていない場合、ヒントは無視されます。 ヒント フラグについては、次の表で説明します。
ullExpectedMaximumSize
LUN の拡大が予想される最大サイズ (バイト単位)。 この値は、IVdsSubSystem::CreateLun メソッドが呼び出されたときに、ullSizeInBytes で指定された値と等しいか、より大きいか、より小さい値にすることができます。 一部のプロバイダーでは、この値を使用して LUN の領域を予約します。 通常、領域を予約できないプロバイダーは、このパラメーターを無視します。
ulOptimalReadSize
LUN の最適な読み取りサイズ (バイト単位)。 ゼロは、最適な読み取りサイズがないことを示します。
ulOptimalReadAlignment
LUN の最初の論理ブロックに対する最適な読み取りアラインメント。 ゼロは、最適な読み取りアラインメントがないことを示します。
ulOptimalWriteSize
LUN の最適な書き込みサイズ (バイト単位)。 ゼロは、最適な書き込みサイズがないことを示します。
ulOptimalWriteAlignment
LUN の最初の論理ブロックに対する最適な書き込みアラインメント。 ゼロは、最適な書き込み配置がないことを示します。
ulMaximumDriveCount
LUN に寄与するドライブの最大数。 0 は、ドライブの最大数がないことを示します。 この値を使用して、ストライプ セット内のストライプ インターリーブの数を制限できます。
ulStripeSize
ミラーまたはパリティ ストライプ インターリーブ サイズ (バイト単位)。 0 の場合、ストライプ サイズは指定されません。
bFastCrashRecoveryRequired
このメンバーが TRUE の場合、回復時間は制限されます。 ullHintMask メンバーのVDS_HINT_FASTCRASHRECOVERYREQUIRED フラグを設定して、このメンバーに関心があることを示します。
bMostlyReads
ほとんどの読み取り使用パターン (パリティ ストライピングではなくミラーリングなど) に合わせて最適化するには、このメンバーを TRUE に設定します。 それ以外の場合は、 FALSE に設定します。 ullHintMask メンバーのVDS_HINT_MOSTLYREADS フラグを設定して、このメンバーに関心があることを示します。
bOptimizeForSequentialReads
シーケンシャル読み取りの使用パターンを最適化するには、このメンバーを TRUE に設定 します。 それ以外の場合は、 FALSE に設定します。 bOptimizeForSequentialReads メンバーと bOptimizeForSequentialWrites メンバーの両方を FALSE に設定すると、ランダム I/O 用に最適化されます。 ullHintMask メンバーのVDS_HINT_OPTIMIZEFORSEQUENTIALREADS フラグを設定して、このメンバーに関心があることを示します。
bOptimizeForSequentialWrites
シーケンシャル書き込みの使用パターンを最適化するには、このメンバーを TRUE に設定します。 それ以外の場合は、 FALSE に設定します。 bOptimizeForSequentialReads メンバーと bOptimizeForSequentialWrites メンバーの両方を FALSE に設定すると、ランダム I/O 用に最適化されます。 ullHintMask メンバーのVDS_HINT_OPTIMIZEFORSEQUENTIALWRITES フラグを設定して、このメンバーに関心があることを示します。
bRemapEnabled
このメンバーが TRUE の場合、プロバイダーは LUN エクステントを再マップしてエクステントを自動的に駆動します。 FALSE の場合、LUN エクステントからドライブ エクステントへのマッピングは、ブロックが破損しないようにエクステントが明示的に再マップされない限り、LUN 構成後も固定されたままになります。 ullHintMask メンバーのVDS_HINT_REMAPENABLED フラグを設定して、このメンバーに関心があることを示します。
bReadBackVerifyEnabled
このメンバーが TRUE に設定されている場合、プロバイダーは読み取りバックによって LUN への書き込みを検証します。 FALSE に設定されている場合、プロバイダーは書き込みを検証しません。 ullHintMask メンバーのVDS_HINT_READBACKVERIFYENABLED フラグを設定して、このメンバーに関心があることを示します。
bWriteThroughCachingEnabled
このメンバーが TRUE の場合、プロバイダーは LUN での書き込みキャッシュを有効にします。 FALSE の場合、プロバイダーはライトスルー キャッシュを有効にしません。 ullHintMask メンバーのVDS_HINT_WRITETHROUGHCACHINGENABLED フラグを設定して、このメンバーに関心があることを示します。
bHardwareChecksumEnabled
このメンバーが TRUE の場合、プロバイダーは LUN のチェックサムを有効にします。 ullHintMask メンバーのVDS_HINT_HARDWARECHECKSUMENABLED フラグを設定して、このメンバーに関心があることを示します。
bIsYankable
このメンバーが TRUE の場合、LUN に寄与するドライブは、システムを大幅に中断することなく物理的に削除できます (これは通常、LUN が少数のドライブからのエクステントで構成されている場合に当てはまります)。 FALSE の場合、システムを大幅に中断しないと LUN を削除できません。 ullHintMask メンバーのVDS_HINT_ISYANKABLE フラグを設定して、このメンバーに関心があることを示します。
sRebuildPriority
LUN の再構築の優先順位。 この値の範囲は、0 (最も低い優先度) から 15 (最も高い優先度) です。
注釈
IVdsSubSystem::Create Lun メソッドは、LUN を作成するためのヒントを提供するために、この構造体をパラメーターとして渡します。 それぞれ、新しいヒントセットを LUN または LUN plex に適用するために、IVds Lun インターフェイスと IVds LunPlex インターフェイスの両方で ApplyHints メソッドのパラメーターとして渡されます。 さらに、IVds Lun インターフェイスと IVds LunPlex インターフェイスの両方で QueryHints メソッドによって返され、LUN または LUN プレックスに現在適用されているヒントを報告します。
ヒントは実装者へのディレクティブではありません。 実装者は一般的にヒントを考慮に入れて最善を尽くす必要があるが、それに従う義務はない。 実装者は、技術的な理由で指定されたヒントに従うことができない場合、またはそれらに従うと、構成が悪くなる可能性がある場合に、代替手段を選択できます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
Header | vdshwprv.h |