AtaPortRegistryControllerKeyRead 函式 (irb.h)

AtaPortRegistryControllerKeyRead 例程會讀取與登錄機碼HKLM\CurrentControlSet\Services\<service name>\ControllerN底下所指出值名稱相關聯的數據,其中 N 是控制器的數目。

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

語法

BOOLEAN AtaPortRegistryControllerKeyRead(
  [in]            PVOID  ChannelExtension,
  [in]            UCHAR  ControllerNumber,
  [in]            PCHAR  ValueName,
  [in]            UCHAR  ValueType,
  [out, optional] PUCHAR Buffer,
                  PULONG BufferLength
);

參數

[in] ChannelExtension

通道延伸模組的指標。

[in] ControllerNumber

包含控制器編號。

[in] ValueName

包含要讀取的登錄值名稱。

[in] ValueType

指出登錄值中包含的數據類型。 此參數應指派下表所示的其中一個值。

值類型 意義
IDE_REG_DWORD 4 位元組的數值。
IDE_REG_BINARY 二進位數據。
IDE_REG_SZ 以 Null 結尾的 Unicode 字串。

[out, optional] Buffer

要複製結果之緩衝區的指標。

BufferLength

要複製之數據位元組數的指標。 如果作業因為緩衝區不足而失敗, Length 所指向的位置將會更新為登錄中數據的實際長度。

傳回值

如果作業成功,AtaPortRegistryControllerKeyRead 會傳回 TRUE。 否則會傳回 FALSE。 如果迷你埠驅動程式未從正確的例程呼叫它, AtaPortRegistryControllerKeyRead 例程也會傳回 FALSE

備註

緩衝區的緩衝區必須使用 AtaPortRegistryAllocateBuffer 來配置。

迷你埠驅動程序必須在 AtaChannelInitRoutine 例程或 IdeHwControl 例程中呼叫 AtaPortRegistryControllerKeyRead。 它無法從任何其他例程呼叫 AtaPortRegistryControllerKeyRead 。 此外,如果呼叫 Miniport 驅動程式的 IdeHwControl 例程,而且在其 ControlAction 參數中具有 StartChannelStopChannel 的值,則只能從其 IdeHwControl 例程呼叫 AtaPortRegistryControllerKeyRead

規格需求

需求
目標平台 桌面
標頭 irb.h (包括 Ata.h、Irb.h)

另請參閱

AtaChannelInitRoutine

AtaPortRegistryAllocateBuffer

IdeHwControl