共用方式為


AtaPortRegistryControllerKeyWriteDeferred 函式 (irb.h)

AtaPortRegistryControllerKeyWriteDeferred 例程會將數據異步寫入登錄機碼 HKLM\CurrentControlSet\Services\<service name>\ControllerN下的指示值名稱,其中 N 是控制器的數目。

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

語法

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 TRUE。 否則,它會 FALSE傳回 。 如果迷你埠驅動程式未從正確的例程呼叫它,則例程也會傳回 FALSE

言論

如果值名稱不存在,AtaPortRegistryControllerKeyWriteDeferred 例程會建立值名稱的專案,並將輸入數據儲存在新建立的值名稱下。

迷你埠驅動程式可以從通道介面中定義的任何例程呼叫 AtaPortRegistryControllerKeyWriteDeferred 例程。

Buffer 所指向的緩衝區必須使用 AtaPortRegistryAllocateBuffer來配置。 迷你埠驅動程式在呼叫 ataPortRegistryControllerKeyWriteDeferred 之後,不得重複使用這個緩衝區,因為埠驅動程式會延遲寫入密鑰數據。 如果迷你埠驅動程式重複使用緩衝區,在埠驅動程序有機會將它儲存在登錄機碼之前,它可能會覆寫緩衝區中的數據。 當迷你埠驅動程式呼叫 AtaPortRegistryFreeBuffer 釋放緩衝區時,埠驅動程式會排清緩衝區。

要求

要求 價值
目標平臺 桌面
標頭 irb.h (包括 Ata.h、Irb.h)

另請參閱

AtaPortRegistryAllocateBuffer

AtaPortRegistryFreeBuffer