次の方法で共有


AtaPortRegistryControllerKeyRead 関数 (irb.h)

AtaPortRegistryControllerKeyRead ルーチンは、レジストリ キーHKLM\CurrentControlSet\Services\<service name>\ControllerNの下の指定された値名に関連付けられているデータを読み取ります。N はコントローラーの番号です。

メモ ATA ポート ドライバーと ATA ミニポート ドライバー モデルは、今後変更または使用できない可能性があります。 代わりに、 Storport ドライバー モデルと Storport ミニポート ドライバー モデルを使用することをお勧めします。
 

構文

BOOLEAN AtaPortRegistryControllerKeyRead(
  [in]            PVOID  ChannelExtension,
  [in]            UCHAR  ControllerNumber,
  [in]            PCHAR  ValueName,
  [in]            UCHAR  ValueType,
  [out, optional] PUCHAR Buffer,
                  PULONG BufferLength
);

パラメーター

[in] ChannelExtension

チャネル拡張機能へのポインター。

[in] ControllerNumber

コントローラー番号を格納します。

[in] ValueName

読み取るレジストリ値の名前を格納します。

[in] ValueType

レジストリ値に含まれるデータの種類を示します。 このパラメーターには、次の表に示す値のいずれかを割り当てる必要があります。

値の型 意味
IDE_REG_DWORD 4 バイトの数値。
IDE_REG_BINARY バイナリ データ。
IDE_REG_SZ null で終わる Unicode 文字列。

[out, optional] Buffer

結果をコピーするバッファーへのポインター。

BufferLength

コピーするデータのバイト数へのポインター。 バッファーが不足しているために操作が失敗した場合、 Length が指す場所はレジストリ内のデータの実際の長さに更新されます。

戻り値

操作が成功した場合、AtaPortRegistryControllerKeyReadTRUE を返します。 それ以外の場合は、 FALSE を返します。 ミニポート ドライバーが正しいルーチンから呼び出さない場合、 AtaPortRegistryControllerKeyRead ルーチンも FALSE を 返します。

注釈

Buffer のバッファーは、AtaPortRegistryAllocateBuffer を使用して割り当てる必要があります。

ミニポート ドライバーは、AtaChannelInitRoutine ルーチンまたはその IdeHwControl ルーチンのいずれかで AtaPortRegistryControllerKeyRead を呼び出す必要があります。 他のルーチンから AtaPortRegistryControllerKeyRead を 呼び出すことはできません。 さらに、ミニポート ドライバーは、その IdeHwControl ルーチンが呼び出され、その ControlAction パラメーターに StartChannel または StopChannel のいずれかの値がある場合にのみ、その IdeHwControl ルーチンから AtaPortRegistryControllerKeyRead を呼び出すことができます。

要件

要件
対象プラットフォーム デスクトップ
Header irb.h (Ata.h、Irb.h を含む)

こちらもご覧ください

AtaChannelInitRoutine

AtaPortRegistryAllocateBuffer

IdeHwControl