Прототип ZwCreateThreadEx

Тема в разделе "WASM.WIN32", создана пользователем float, 30 июл 2010.

  1. float

    float New Member

    Публикаций:
    0
    Регистрация:
    7 янв 2010
    Сообщения:
    113
    Нашел такое описание, но не понятно где получается CLIENT_ID. На форуме промелькнула мысль о том, что последний параметр - и есть указатель на CLIENT_ID, но на практике там какая-то другая структура.

    NTSTATUS NTAPI ZwCreateThreadEx(
    OUT PHANDLE ThreadHandle,
    IN ACCESS_MASK DesiredAccess,
    IN POBJECT_ATTRIBUTES ObjectAttributes,
    IN HANDLE ProcessHandle,
    IN LPVOID lpStartAddress,
    IN LPVOID lpParameter,
    IN BOOL CreateSuspended,
    IN ULONG StackZeroBits,
    IN ULONG SizeOfStackCommit,
    IN ULONG SizeOfStackReserve,
    OUT LPVOID lpBytesBuffer
    );
     
  2. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Код (Text):
    1. NTSTATUS NtCreateThreadEx(
    2.     OUT PHANDLE ThreadHandle,
    3.     IN ACCESS_MASK DesiredAccess,
    4.     IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL,
    5.     IN HANDLE ProcessHandle,
    6.     IN PTHREAD_START_ROUTINE StartRoutine,
    7.     IN PVOID StartContext,
    8.     IN ULONG CreateThreadFlags,
    9.     IN ULONG ZeroBits OPTIONAL,
    10.     IN ULONG StackSize OPTIONAL,
    11.     IN ULONG MaximumStackSize OPTIONAL,
    12.     IN PNT_PROC_THREAD_ATTRIBUTE_LIST AttributeList
    13. );
    14.  
    15. #define CREATE_THREAD_SUSPENDED            0x0001
    16.  
    17. typedef struct _NT_PROC_THREAD_ATTRIBUTE_ENTRY {
    18.     ULONG Attribute;    // PROC_THREAD_ATTRIBUTE_XXX, UpdateProcThreadAttribute()
    19.     SIZE_T Size;
    20.     ULONG_PTR Value;
    21.     ULONG Unknown;
    22. } PROC_THREAD_ATTRIBUTE_ENTRY, *PPROC_THREAD_ATTRIBUTE_ENTRY;
    23.  
    24. typedef struct _NT_PROC_THREAD_ATTRIBUTE_LIST {
    25.     ULONG Length;
    26.     NT_PROC_THREAD_ATTRIBUTE_ENTRY Entry[1];
    27. } NT_PROC_THREAD_ATTRIBUTE_LIST, *PNT_PROC_THREAD_ATTRIBUTE_LIST;
    h**p://hi.baidu.com/zzzevazzz/blog/item/a6c9f488773b679da4c272fe.html

    Используйте ThreadBasicInformation.
     
  3. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    Нет, это не он.

    Судя по коду CreateRemoteThreadEx, для этого используется аттрибут с номером 8 (ProcThreadAttributeMax, =\), lpValue там указатель на ClientId
    как-то так