Re[2]: Получение пути из хэндла
От: Holms США  
Дата: 25.05.05 11:29
Оценка:
Здравствуйте, Odi$$ey, Вы писали:

OE>Здравствуйте, Holms, Вы писали:


H>>Проблема: получить полный путь ветки реестра заня ее путь.

H>>На форуме пару раз спрашивали никто толком не ответил

OE>http://gzip.rsdn.ru/?Forum/Info.aspx?name=FAQ.winapi.hkeytoname ?

Спасибо. Вроде то что надо
собрал такой код

// testZwQueryKey.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"

typedef enum _KEY_INFORMATION_CLASS {
  KeyBasicInformation,
    KeyNodeInformation,
    KeyFullInformation,
    KeyNameInformation
} KEY_INFORMATION_CLASS;

typedef struct _KEY_BASIC_INFORMATION {
  LARGE_INTEGER LastWriteTime;
  ULONG TitleIndex;
  ULONG NameLength;
  WCHAR Name[1]; // Variable length string
} KEY_BASIC_INFORMATION, *PKEY_BASIC_INFORMATION;
#define NTSTATUS DWORD

NTSYSAPI
NTSTATUS
NTAPI
ZwQueryKey(
           IN HANDLE KeyHandle,
           IN KEY_INFORMATION_CLASS KeyInformationClass,
           OUT PVOID KeyInformation,
           IN ULONG KeyInformationLength,
           OUT PULONG ResultLength
           );


int main(int argc, char* argv[])
{
  HKEY hKey;

  RegOpenKeyEx( HKEY_CURRENT_USER, "Software\\Far\\Editor", 0, KEY_ALL_ACCESS, &hKey );

  if( hKey )
  {
    ULONG l = 1024;
    PKEY_BASIC_INFORMATION kbi = (PKEY_BASIC_INFORMATION)(new char[l]);

    ZwQueryKey( hKey, KeyNodeInformation, kbi, l, &l );
    RegCloseKey( hKey );
  }
    return 0;
}

подключил к проекту ntdll.lib (пробовал две версии которые нашел в инете)
получаю такую ошибку

LINK : warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/INCREMENTAL:NO' specification
testZwQueryKey.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) unsigned long __stdcall ZwQueryKey(void *,enum _KEY_INFORMATION_CLASS,void *,unsigned long,unsigned long *)" (__imp_?ZwQueryKey@@YGKPAXW4_KEY_INFORMATION_CLASS@@0KPAK@Z) referenced in function _main
.\Debug/testZwQueryKey.exe : fatal error LNK1120: 1 unresolved externals

Вопрос, где взять нормальную либу что-бы нашлось то что надо.
Если есть у кого скиньте на eugen. rata [dog] gmail.com

Спасибо
The life is relative and reversible.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.