функция GetSubKeyCount

Тема в разделе "WASM.BEGINNERS", создана пользователем Llirik, 3 сен 2010.

  1. Llirik

    Llirik Member

    Публикаций:
    0
    Регистрация:
    18 июл 2008
    Сообщения:
    471
    подскажите, пожалуйста, в какой lib находится функция GetSubKeyCount
     
  2. Llirik

    Llirik Member

    Публикаций:
    0
    Регистрация:
    18 июл 2008
    Сообщения:
    471
    В коде http://www.wasm.ru/forum/viewtopic.php?id=9564 присутствует некая функция GetSubKeyCount. вот я и хочу понять что эта за функция
     
  3. keYMax

    keYMax New Member

    Публикаций:
    0
    Регистрация:
    2 июл 2003
    Сообщения:
    276
    Адрес:
    Новоуральск
    Я не копаюсь в потрохах винды, но.. может натолкнет на мысли
    http://www.openrce.org/reference_library/win32_call_chains/XPSP2/ADVAPI32/GetSubKeyCount
     
  4. Llirik

    Llirik Member

    Публикаций:
    0
    Регистрация:
    18 июл 2008
    Сообщения:
    471
    но в advapi32.dll нет такой функции
     
  5. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Llirik
    Есть, но явно не то что вам нужно, даже по числу параметров:
    Код (Text):
    1. NTSTATUS GetSubKeyCount(
    2.     HKEY    hkClassKey,
    3.     LPDWORD pdwUserSubKeys)
    4. /*++
    5.  
    6. Routine Description:
    7.  
    8.     Counts the number of subkeys under a key
    9.  
    10. Arguments:
    11.  
    12.     hkClassKey - key whose subkeys we wish to count
    13.     pdwUserSubKeys - out param for number of subkeys
    14.  
    15. Return Value:
    16.  
    17.     Returns NT_SUCCESS (0) for success; error-code for failure.
    18.  
    19. Notes:
    20.  
    21. --*/
    22. {
    23.     NTSTATUS              Status;
    24.     PKEY_FULL_INFORMATION KeyFullInfo;
    25.     ULONG                 BufferLength;
    26.     BYTE                  PrivateKeyFullInfo[ sizeof( KEY_FULL_INFORMATION ) +
    27.                                             ENUM_DEFAULT_CLASS_SIZE ];
    28.  
    29.     //
    30.     // Initialize out params
    31.     //
    32.     *pdwUserSubKeys = 0;
    33.  
    34.     //
    35.     // BUGBUG: don't need to pass in everything here
    36.     //
    37.  
    38.     //
    39.     // Set up to query kernel for subkey information
    40.     //
    41.     KeyFullInfo = (PKEY_FULL_INFORMATION) PrivateKeyFullInfo;
    42.     BufferLength = sizeof(PrivateKeyFullInfo);
    43.  
    44.     Status = QueryKeyInfo(
    45.                 hkClassKey,
    46.                 &KeyFullInfo,
    47.                 BufferLength,
    48.                 FALSE,
    49.                 (USHORT) (BufferLength - sizeof(PKEY_FULL_INFORMATION))
    50.                 );
    51.  
    52.     if (NT_SUCCESS(Status)) {
    53.         //
    54.         // set the out param with the subkey data from the kernel call
    55.         //
    56.         *pdwUserSubKeys = KeyFullInfo->SubKeys;
    57.  
    58.         //
    59.         // The QueryKeyInfo function will allocate memory if the buffer
    60.         // we pass in is too small, so we should free it after we've
    61.         // retrieved the data.
    62.         //
    63.         if( KeyFullInfo != ( PKEY_FULL_INFORMATION )PrivateKeyFullInfo ) {
    64.             RegClassHeapFree(KeyFullInfo );
    65.         }
    66.     }
    67.  
    68.     return Status;
    69. }
    Вам вероятно нужен функционал какойто сишной либы. Он не системный, так что ищите сурсы либо качайте символы и реверсите.
     
  6. Llirik

    Llirik Member

    Публикаций:
    0
    Регистрация:
    18 июл 2008
    Сообщения:
    471
    Написал бы эту функцию сам, но я не знаю где хранится Subkey активного пользователя
     
  7. Llirik

    Llirik Member

    Публикаций:
    0
    Регистрация:
    18 июл 2008
    Сообщения:
    471
    Ладно. сделаю подругому)
     
  8. at0s

    at0s New Member

    Публикаций:
    0
    Регистрация:
    13 июл 2009
    Сообщения:
    91
    EnumerateKey с KEY_FULL_INFORMATION не поможет ?