次の方法で共有


AtaPortRegistryChannelSubkeyWrite 関数 (irb.h)

AtaPortRegistryChannelSubKeyWrite ルーチンは、レジストリ キーHKLM\CurrentControlSet\Services\<service name>\ControllerN\ChannelMの下の指定された値名にデータを書き込みます。ここで、N はコントローラーの番号、M はチャネルの番号です。

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

構文

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

パラメーター

[in] ChannelExtension

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

[in] ControllerNumber

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

[in] ValueName

書き込むレジストリ値の名前を格納します。

[in] ValueType

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

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

[in] Buffer

レジストリに書き込まれるデータを含むソース バッファーへのポインター。

BufferLength

コピーするデータのバイト数へのポインター。 操作が失敗した場合、 Length が指す場所は、レジストリに正常に書き込まれたデータの長さに更新されます。

戻り値

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

注釈

値名が存在しない場合、 AtaPortRegistryChannelSubKeyWrite は値のエントリを作成し、データは新しく作成された値に格納されます。

Buffer によって指される バッファー は、 AtaPortRegistryAllocateBuffer を使用して割り当てる必要があります。

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

要件

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

こちらもご覧ください

AtaChannelInitRoutine

AtaPortRegistryChannelSubKeyRead

AtaPortRegistryChannelSubKeyWriteDeferred

IdeHwControl