AtaPortRegistryChannelSubkeyWrite 函数 (irb)

AtaPortRegistryChannelSubKeyWrite例程将数据写入注册表项 HKLM\CurrentControlSet\Services\<service name>\ControllerN\ChannelM 下的指示值名称,其中N是控制器的编号, M是通道的编号。

注意 ATA 端口驱动程序和 ATA 微型端口驱动程序模型可能会在将来更改或不可用。 相反,我们建议使用 storport 驱动 程序和 storport 微型端口 驱动程序模型。

语法

BOOLEAN AtaPortRegistryChannelSubkeyWrite(
  [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

指示注册表值中包含的数据的类型。 应为此成员分配下表中所示的值之一。

Value 含义
IDE_REG_DWORD 4字节的数值。
IDE_REG_BINARY 二进制数据。
IDE_REG_SZ 以 null 结尾的 Unicode 字符串。

[in] Buffer

指向包含要写入注册表的数据的源缓冲区的指针。

BufferLength

指向要复制的数据字节数的指针。 如果操作失败,则由 Length 指向的位置将更新为成功写入注册表的数据的长度。

返回值

如果操作成功,则AtaPortRegistryChannelSubKeyWrite返回TRUE 。 否则,返回 FALSE。 如果微型端口驱动程序没有从正确的例程中调用它,则它也会返回 FALSE

注解

如果值名称不存在, AtaPortRegistryChannelSubKeyWrite 将为该值创建一个条目,并将数据存储在新创建的值中。

必须使用AtaPortRegistryAllocateBuffer来分配缓冲区所指向的缓冲区。

微型端口驱动程序必须在AtaChannelInitRoutine例程或IdeHwControl例程期间调用AtaPortRegistryChannelSubKeyWrite ,微型端口驱动程序无法从任何其他例程调用AtaPortRegistryChannelSubKeyWrite ,而不会返回FALSE。 此外,如果调用AtaPortRegistryChannelSubKeyWriteIdeHwControl例程,并且其StopChannel参数中的值为StartChannelControlAction ,则微型端口驱动程序只能从其IdeHwControl例程调用它。

要求

   
目标平台 桌面型
标头 irb (包含 Ata .h,Irb)

请参阅

AtaChannelInitRoutine

AtaPortRegistryChannelSubKeyRead

AtaPortRegistryChannelSubKeyWriteDeferred

IdeHwControl