OREnumKey 函数
枚举脱机注册表配置单元中指定打开的注册表项的子项。 每次调用该函数时,该函数都会检索有关一个子项的信息。
语法
DWORD OREnumKey(
_In_ ORHKEY Handle,
_In_ DWORD dwIndex,
_Out_ PWSTR lpName,
_Inout_ PDWORD lpcName,
_Out_opt_ PWSTR lpClass,
_Inout_opt_ PDWORD lpcClass,
_Out_opt_ PFILETIME lpftLastWriteTime
);
parameters
-
句柄 [in]
-
脱机注册表配置单元中打开的注册表项的句柄。
-
dwIndex [in]
-
要检索的子项的索引。 对于对函数的第一次调用,此参数应为零,然后为后续调用递增。
由于子项没有排序,因此任何新的子项都将具有任意索引。 这意味着该函数可以按任意顺序返回子项。
-
lpName [out]
-
指向接收子项名称(包括终止 null 字符)的缓冲区的指针。 该函数仅将子项的名称(而不是完整键层次结构)复制到缓冲区。 如果函数失败,则不会将任何信息复制到此缓冲区。
有关详细信息,请参阅 注册表元素大小限制。
-
lpcName [in, out]
-
指向指定 WCHAR 中 lpName 参数指定的缓冲区大小的变量的指针。 此大小应包含终止 null 字符。 如果函数成功, 则 lpcName 指向的变量包含缓冲区中存储的字符数,不包括终止 null 字符。
-
lpClass [out, 可选]
-
指向接收枚举子项的 null 终止类字符串的缓冲区的指针。 此参数可以为 NULL。
-
lpcClass [in, out, optional]
-
指向指定 WCHAR 中 lpClass 参数指定的缓冲区大小的变量的指针。 大小应包含终止 null 字符。 如果函数成功, lpcClass 包含缓冲区中存储的字符数,不包括终止 null 字符。 仅当 lpClass 为 NULL 时,此参数才可为 NULL。
-
lpftLastWriteTime [out, optional]
-
指向 FILETIME 结构的指针,该结构接收枚举子项上次写入的时间。 此参数可以为 NULL。
返回值
如果函数成功,则返回值ERROR_SUCCESS。
如果函数失败,则返回值是 Winerror.h 中定义的非零错误代码。 可以将 FormatMessage 函数与FORMAT_MESSAGE_FROM_SYSTEM标志一起使用,以获取错误的泛型说明。 可能的错误代码包括:
- 如果 lpName 缓冲区太小而无法接收密钥的名称,则函数将返回ERROR_MORE_DATA。
- 如果没有更多可用的子项,该函数将返回ERROR_NO_MORE_ITEMS。
注解
若要枚举子项,应用程序应最初调用 OREnumKey 函数, 并将 dwIndex 参数设置为零。 然后,应用程序应递增 dwIndex 参数并调用 OREnumKey ,直到没有更多子项 (这意味着函数返回ERROR_NO_MORE_ITEMS) 。
应用程序还可以在第一次调用函数时将 dwIndex 设置为最后一个子项的索引,并将索引递减,直到枚举具有索引 0 的子项。 若要检索最后一个子项的索引,请使用 ORQueryInfoKey 函数。
虽然应用程序正在使用 OREnumKey 函数,但它不应调用任何可能会更改所枚举的密钥的脱机注册表函数。
要求
要求 | 值 |
---|---|
可再发行组件 |
Windows脱机注册表库版本 1.0 或更高版本 |
标头 |
|
DLL |
|
另请参阅