这两个结构究竟谁是正确的?
问题1>
typedef struct _INITIAL_TEB{ PVOID PreviousStackBase; PVOID PreviousStackLimit; PVOID StackBase; PVOID StackLimit; PVOID AllocatedStackBase;} INITIAL_TEB, *PINITIAL_TEB;typedef struct _INITIAL_TEB { PVOID StackBase; PVOID StackLimit; PVOID StackCommit; PVOID StackCommitMax; PVOID StackReserved;} INITIAL_TEB, *PINITIAL_TEB;HANDLE APIENTRY CreateRemoteThread(HANDLE hProcess, LPSECURITY_ATTRIBUTES lpThreadAttributes, DWORD dwStackSize, LPTHREAD_START_ROUTINE lpStartAddress, LPVOID lpParameter, DWORD dwCreationFlags, LPDWORD lpThreadId){ NTSTATUS Status; OBJECT_ATTRIBUTES Obja; POBJECT_ATTRIBUTES pObja; HANDLE Handle; CONTEXT ThreadContext; INITIAL_TEB InitialTeb; CLIENT_ID ClientId; // Allocate a stack for this thread Status = BaseCreateStack(hProcess, dwStackSize, 0L, &InitialTeb ); // Create an initial context BaseInitializeContext( &ThreadContext, lpParameter, (PVOID)lpStartAddress, InitialTeb.StackBase, BaseContextTypeThread); pObja = BaseFormatObjectAttributes(&Obja, lpThreadAttributes, NULL); Status = NtCreateThread( &Handle, THREAD_ALL_ACCESS, pObja, hProcess, &ClientId, &ThreadContext, &InitialTeb, TRUE ); }