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