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
);
参数
-
处理 [in]
-
脱机注册表配置单元中打开的注册表项的句柄。
-
dwIndex [in]
-
要检索的子项的索引。 对于对函数的第一次调用,此参数应为零,然后针对后续调用递增。
由于子项未排序,因此任何新子项都将具有任意索引。 这意味着该函数可以按任意顺序返回子项。
-
lpName [out]
-
指向接收子项名称(包括终止 null 字符)的缓冲区的指针。 函数仅将子项的名称(而不是完整键层次结构)复制到缓冲区。 如果该函数失败,则不会将任何信息复制到此缓冲区。
有关详细信息,请参阅 注册表元素大小限制。
-
lpcName [in, out]
-
指向变量的指针,该变量指定 WCHAR 中的 lpName 参数指定的缓冲区的大小。 此大小应包括结尾的 null 字符。 如果函数成功, 则 lpcName 指向的变量包含缓冲区中存储的字符数,不包括终止 null 字符。
-
lpClass [out, optional]
-
指向接收枚举子项的以 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 |
|
另请参阅