共用方式為


AtaPortRegistryChannelSubkeyWriteDeferred 函式 (irb.h)

AtaPortRegistryChannelSubKeyWriteDeferred 例程會以異步方式將數據寫入登錄機碼HKLM\CurrentControlSet\Services\<service name>\ControllerN\ChannelM底下的指示值名稱,其中 N 是控制器的數目,而 M 是通道的數目。

注意 ATA 埠驅動程式和 ATA 迷你埠驅動程式模型未來可能會改變或無法使用。 相反地,我們建議使用 Storport 驅動程式Storport 迷你埠 驅動程式模型。
 

語法

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)

另請參閱

AtaPortRegistryAllocateBuffer

AtaPortRegistryFreeBuffer