Здравствуйте, есть вопрос: в функции QueueUserAPC параметр dwData, который является параметром, который затем передается в асинхронно вызываемую функцию, имеет тип DWORD, но хотелось бы протащить здесь указатель. Вариант (DWORD)ptr прокатывает — компилится и линкуется, но можно ли так делать?
И вообще, в функциях подобного рода (где указывается адрес некой функции и параметр, например CreateThread, SetWaitableTimer итп) последний передается как LPVOID, с чего вдруг в QueueUserAPC DWORD?