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 を呼び出すときにバッファーをフラッシュします。
必要条件
要件 | 価値 |
---|---|
ターゲット プラットフォーム の | デスクトップ |
ヘッダー | irb.h (Ata.h、Irb.h を含む) |