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 への最初の呼び出しの後、バッファー によって指バッファーを再利用できません。 呼び出しは非同期であるため、バッファー は、レジストリにフラッシュされていないデータを引き続き指している可能性があります。 ポート ドライバーは、ミニポート ドライバーが AtaPortRegistryFreeBuffer 呼び出すときに、バッファー内のデータをレジストリにフラッシュします。
必要条件
要件 | 価値 |
---|---|
ターゲット プラットフォーム の | デスクトップ |
ヘッダー | irb.h (Ata.h、Irb.h を含む) |