IOCTL_EHSTOR_DRIVER_PERFORM_AUTHZ IOCTL (ehstorioctl.h)
IOCTL_EHSTOR_DRIVER_PERFORM_AUTHZ は、拡張記憶域クラス ドライバー (EHSTOR) によってサイロ ドライバーに送信され、オンデマンド認証または認証解除を開始します。
メジャー コード
[入力バッファー]
Irp-AssociatedIrp.SystemBuffer> の入力バッファーには、実行する認証操作の種類を示すAUTHZ_STATE構造体が含まれている必要があります。 AUTHZ_STATE は、 ehstorioctl.h で次のように宣言されています。
typedef struct _AUTHZ_STATE
{
ULONG AuthzState;
} AUTHZ_STATE;
AuthzState の値は、認証操作を指定します。 これは次のいずれかです。
値 | 説明 |
---|---|
0 | オンデマンドの認証解除を実行します。 |
AUTHZSTATE_AUTHENTICATE | オンデマンド認証を実行します。 |
AUTHZSTATE_CLEAR_AUTHKEY_CACHE | オンデマンドの認証解除を実行し、キャッシュされた認証キーをクリアします。 |
入力バッファーの長さ
AUTHZ_STATE構造体の長さ。
出力バッファー
[なし] :
出力バッファーの長さ
[なし] :
ステータス ブロック
認証状態が変更された場合、サイロ ドライバーによって [状態] フィールドにSTATUS_SUCCESSが返されます。 それ以外の場合は、STATUS_UNSUCCESSFULが返されます。
注釈
この IOCTL は、EHSTOR によって、オンデマンド認証をサポートするサイロ ドライバーに送信されます。 サイロ ドライバーは、SILO_DRIVER_CAPABILITESの Capabilities メンバーに設定されたCAP_ON_DEMAND_AUTHENTICATION フラグを使用して、以前のIOCTL_EHSTOR_DRIVER_REPORT_CAPABILITIES要求で EHSTOR にこの機能を通知します。
この IOCTL に応答して、サイロ ドライバーはデバイスの認証または認証解除を実行します。 縞模様付きデバイスの場合、サイロ ドライバーは、システム バッファーで指定された操作に応じて、読み取りと書き込みに対して可能な限り多くのバンドのロックを解除またはロックします。
サイロ ドライバーが要求された操作の実行に失敗した場合、デバイスの認証状態は変更されません。
AUTHZ_STATE の AuthzState メンバーが AUTHZSTATE_CLEAR_AUTHKEY_CACHE に設定されている場合、サイロ ドライバーは認証解除に加えて認証キー キャッシュをクリアします。 AUTHZSTATE_CLEAR_AUTHKEY_CACHE は、システムがシャットダウンまたは休止状態のときに設定されます。 これにより、休止状態ファイルにキー キャッシュが存在することを防ぐことができます。
デバイスが複数のサイロをサポートしている場合、各サイロによる認証は排他的です。 あるサイロ ドライバーによる認証操作は、別のサイロ ドライバーによって設定された認証状態には影響しません。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 8 以降で使用可能 |
Header | ehstorioctl.h (EhStorIoctl.h を含む) |