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 會建立值的專案,而且數據會儲存在新建立的值中。
緩衝區所指向的緩衝區必須使用 AtaPortRegistryAllocateBuffer 來配置。
迷你埠驅動程式可以從屬於其通道介面的任何密鑰例程呼叫 AtaPortRegistryChannelSubKeyWriteDeferred 。
在初始呼叫 AtaPortRegistryChannelSubKeyWriteDeferred 之後,Miniport 驅動程式不得重複使用 Buffer 所指向的緩衝區。 因為呼叫是異步的, 所以 Buffer 可能仍然指向尚未排清至登錄的數據。 當迷你埠驅動程式呼叫 AtaPortRegistryFreeBuffer 時,埠驅動程式會將緩衝區中的數據排清到登錄。
規格需求
需求 | 值 |
---|---|
目標平台 | 桌面 |
標頭 | irb.h (包括 Ata.h、Irb.h) |