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 以降で使用可能 |
ヘッダー | ehstorioctl.h (EhStorIoctl.h を含む) |