title: createthread.md
HANDLE WINAPI CreateThread(
_In_opt_ LPSECURITY_ATTRIBUTES lpThreadAttributes,
_In_ SIZE_T dwStackSize,
_In_ LPTHREAD_START_ROUTINE lpStartAddress,
_In_opt_ LPVOID lpParameter,
_In_ DWORD dwCreationFlags,
_Out_opt_ LPDWORD lpThreadId
);
Microsoft Documentation: https://msdn.microsoft.com/en-us/library/windows/desktop/ms682453(v=vs.85).aspx
Usage:
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
DWORD WINAPI add(LPVOID lpParameters) {
// Do Thread activity
}
int main() {
LPDWORD thId = (LPDWORD)malloc(sizeof(LPDWORD));
HANDLE hThread = CreateThread(NULL, 0, add, NULL, NULL, thId);
printf("Thread %d created!\nHandle@%d\nError? %s",
thId,
hThread,
GetLastError() ? "Yeah probably":"Naah not really");
}