AtaPortRegistryChannelSubkeyWriteDeferred 関数 (irb.h)
AtaPortRegistryChannelSubKeyWriteDeferred ルーチンは、レジストリ キーHKLM\CurrentControlSet\Services\<service name>\ControllerN\ChannelM
の下の指定された値名に非同期的にデータを書き込みます。ここで、N はコントローラーの番号、M はチャネルの番号です。
構文
BOOLEAN AtaPortRegistryChannelSubkeyWriteDeferred(
[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 が指す場所は、レジストリに正常に書き込まれたデータの長さに更新されます。
戻り値
操作の場合、AtaPortRegistryChannelSubKeyWriteDeferred は TRUE を返します。 それ以外の場合は、 FALSE を返します。 ミニポート ドライバーが正しいルーチンから呼び出さない場合も、ルーチンは FALSE を 返します。
注釈
値名が存在しない場合、 AtaPortRegistryChannelSubKeyWriteDeferred は値のエントリを作成し、データは新しく作成された値に格納されます。
Buffer によって指される バッファー は、 AtaPortRegistryAllocateBuffer を使用して割り当てる必要があります。
ミニポート ドライバーは、そのチャネル インターフェイスに属している任意のキー ルーチンから AtaPortRegistryChannelSubKeyWriteDeferred を呼び出すことができます。
ミニポート ドライバーは、AtaPortRegistryChannelSubKeyWriteDeferred への最初の呼び出しの後に Buffer によって指されるバッファーを再利用することはできません。 呼び出しは非同期であるため、 Buffer はレジストリにフラッシュされていないデータを指している可能性があります。 ポート ドライバーは、ミニポート ドライバーが AtaPortRegistryFreeBuffer を呼び出すときに、バッファー内のデータをレジストリにフラッシュします。
要件
要件 | 値 |
---|---|
対象プラットフォーム | デスクトップ |
Header | irb.h (Ata.h、Irb.h を含む) |