[mingw] fix function pointer mismatch

* Addjust implementation to match function pointer defines
* Make functions static where appropriate
This commit is contained in:
akallabeth
2025-12-12 18:09:38 +01:00
parent 8c54f53ac2
commit 3faefca351

View File

@@ -72,7 +72,7 @@ typedef HANDLE(WINAPI* fnWinStationVirtualOpenEx)(HANDLE hServer, DWORD SessionI
static fnWinStationVirtualOpen pfnWinStationVirtualOpen = NULL; static fnWinStationVirtualOpen pfnWinStationVirtualOpen = NULL;
static fnWinStationVirtualOpenEx pfnWinStationVirtualOpenEx = NULL; static fnWinStationVirtualOpenEx pfnWinStationVirtualOpenEx = NULL;
BOOL WINAPI Win32_WTSVirtualChannelClose(HANDLE hChannel); static BOOL WINAPI Win32_WTSVirtualChannelClose(HANDLE hChannel);
/** /**
* NOTE !! * NOTE !!
@@ -116,7 +116,7 @@ static void _wts_free(void* ptr)
#endif #endif
} }
BOOL Win32_WTSVirtualChannelReadAsync(WTSAPI_CHANNEL* pChannel) static BOOL Win32_WTSVirtualChannelReadAsync(WTSAPI_CHANNEL* pChannel)
{ {
BOOL status = TRUE; BOOL status = TRUE;
DWORD numBytes = 0; DWORD numBytes = 0;
@@ -170,8 +170,8 @@ BOOL Win32_WTSVirtualChannelReadAsync(WTSAPI_CHANNEL* pChannel)
return TRUE; return TRUE;
} }
HANDLE WINAPI Win32_WTSVirtualChannelOpen_Internal(HANDLE hServer, DWORD SessionId, static HANDLE WINAPI Win32_WTSVirtualChannelOpen_Internal(HANDLE hServer, DWORD SessionId,
LPSTR pVirtualName, DWORD flags) LPSTR pVirtualName, DWORD flags)
{ {
HANDLE hFile; HANDLE hFile;
HANDLE hChannel; HANDLE hChannel;
@@ -245,17 +245,18 @@ HANDLE WINAPI Win32_WTSVirtualChannelOpen_Internal(HANDLE hServer, DWORD Session
return hChannel; return hChannel;
} }
HANDLE WINAPI Win32_WTSVirtualChannelOpen(HANDLE hServer, DWORD SessionId, LPSTR pVirtualName) static HANDLE WINAPI Win32_WTSVirtualChannelOpen(HANDLE hServer, DWORD SessionId,
LPSTR pVirtualName)
{ {
return Win32_WTSVirtualChannelOpen_Internal(hServer, SessionId, pVirtualName, 0); return Win32_WTSVirtualChannelOpen_Internal(hServer, SessionId, pVirtualName, 0);
} }
HANDLE WINAPI Win32_WTSVirtualChannelOpenEx(DWORD SessionId, LPSTR pVirtualName, DWORD flags) static HANDLE WINAPI Win32_WTSVirtualChannelOpenEx(DWORD SessionId, LPSTR pVirtualName, DWORD flags)
{ {
return Win32_WTSVirtualChannelOpen_Internal(0, SessionId, pVirtualName, flags); return Win32_WTSVirtualChannelOpen_Internal(0, SessionId, pVirtualName, flags);
} }
BOOL WINAPI Win32_WTSVirtualChannelClose(HANDLE hChannel) static BOOL WINAPI Win32_WTSVirtualChannelClose(HANDLE hChannel)
{ {
BOOL status = TRUE; BOOL status = TRUE;
WTSAPI_CHANNEL* pChannel = (WTSAPI_CHANNEL*)hChannel; WTSAPI_CHANNEL* pChannel = (WTSAPI_CHANNEL*)hChannel;
@@ -302,9 +303,10 @@ BOOL WINAPI Win32_WTSVirtualChannelClose(HANDLE hChannel)
return status; return status;
} }
BOOL WINAPI Win32_WTSVirtualChannelRead_Static(WTSAPI_CHANNEL* pChannel, DWORD dwMilliseconds, static BOOL WINAPI Win32_WTSVirtualChannelRead_Static(WTSAPI_CHANNEL* pChannel,
LPVOID lpBuffer, DWORD nNumberOfBytesToRead, DWORD dwMilliseconds, LPVOID lpBuffer,
LPDWORD lpNumberOfBytesTransferred) DWORD nNumberOfBytesToRead,
LPDWORD lpNumberOfBytesTransferred)
{ {
if (pChannel->readDone) if (pChannel->readDone)
{ {
@@ -449,9 +451,10 @@ BOOL WINAPI Win32_WTSVirtualChannelRead_Static(WTSAPI_CHANNEL* pChannel, DWORD d
return FALSE; return FALSE;
} }
BOOL WINAPI Win32_WTSVirtualChannelRead_Dynamic(WTSAPI_CHANNEL* pChannel, DWORD dwMilliseconds, static BOOL WINAPI Win32_WTSVirtualChannelRead_Dynamic(WTSAPI_CHANNEL* pChannel,
LPVOID lpBuffer, DWORD nNumberOfBytesToRead, DWORD dwMilliseconds, LPVOID lpBuffer,
LPDWORD lpNumberOfBytesTransferred) DWORD nNumberOfBytesToRead,
LPDWORD lpNumberOfBytesTransferred)
{ {
if (pChannel->readSync) if (pChannel->readSync)
{ {
@@ -567,9 +570,9 @@ BOOL WINAPI Win32_WTSVirtualChannelRead_Dynamic(WTSAPI_CHANNEL* pChannel, DWORD
return FALSE; return FALSE;
} }
BOOL WINAPI Win32_WTSVirtualChannelRead(HANDLE hChannel, DWORD dwMilliseconds, LPVOID lpBuffer, static BOOL WINAPI Win32_WTSVirtualChannelRead(HANDLE hChannel, DWORD dwMilliseconds,
DWORD nNumberOfBytesToRead, PCHAR lpBuffer, DWORD nNumberOfBytesToRead,
LPDWORD lpNumberOfBytesTransferred) LPDWORD lpNumberOfBytesTransferred)
{ {
WTSAPI_CHANNEL* pChannel = (WTSAPI_CHANNEL*)hChannel; WTSAPI_CHANNEL* pChannel = (WTSAPI_CHANNEL*)hChannel;
@@ -625,9 +628,9 @@ BOOL WINAPI Win32_WTSVirtualChannelRead(HANDLE hChannel, DWORD dwMilliseconds, L
return FALSE; return FALSE;
} }
BOOL WINAPI Win32_WTSVirtualChannelWrite(HANDLE hChannel, LPCVOID lpBuffer, static BOOL WINAPI Win32_WTSVirtualChannelWrite(HANDLE hChannel, PCHAR lpBuffer,
DWORD nNumberOfBytesToWrite, DWORD nNumberOfBytesToWrite,
LPDWORD lpNumberOfBytesTransferred) LPDWORD lpNumberOfBytesTransferred)
{ {
OVERLAPPED overlapped = { 0 }; OVERLAPPED overlapped = { 0 };
WTSAPI_CHANNEL* pChannel = (WTSAPI_CHANNEL*)hChannel; WTSAPI_CHANNEL* pChannel = (WTSAPI_CHANNEL*)hChannel;
@@ -652,7 +655,7 @@ BOOL WINAPI Win32_WTSVirtualChannelWrite(HANDLE hChannel, LPCVOID lpBuffer,
#define FILE_DEVICE_TERMSRV 0x00000038 #define FILE_DEVICE_TERMSRV 0x00000038
#endif #endif
BOOL Win32_WTSVirtualChannelPurge_Internal(HANDLE hChannelHandle, ULONG IoControlCode) static BOOL Win32_WTSVirtualChannelPurge_Internal(HANDLE hChannelHandle, ULONG IoControlCode)
{ {
IO_STATUS_BLOCK ioStatusBlock = { 0 }; IO_STATUS_BLOCK ioStatusBlock = { 0 };
WTSAPI_CHANNEL* pChannel = (WTSAPI_CHANNEL*)hChannelHandle; WTSAPI_CHANNEL* pChannel = (WTSAPI_CHANNEL*)hChannelHandle;
@@ -698,20 +701,21 @@ BOOL Win32_WTSVirtualChannelPurge_Internal(HANDLE hChannelHandle, ULONG IoContro
return TRUE; return TRUE;
} }
BOOL WINAPI Win32_WTSVirtualChannelPurgeInput(HANDLE hChannelHandle) static BOOL WINAPI Win32_WTSVirtualChannelPurgeInput(HANDLE hChannelHandle)
{ {
return Win32_WTSVirtualChannelPurge_Internal(hChannelHandle, return Win32_WTSVirtualChannelPurge_Internal(hChannelHandle,
(FILE_DEVICE_TERMSRV << 16) | 0x0107); (FILE_DEVICE_TERMSRV << 16) | 0x0107);
} }
BOOL WINAPI Win32_WTSVirtualChannelPurgeOutput(HANDLE hChannelHandle) static BOOL WINAPI Win32_WTSVirtualChannelPurgeOutput(HANDLE hChannelHandle)
{ {
return Win32_WTSVirtualChannelPurge_Internal(hChannelHandle, return Win32_WTSVirtualChannelPurge_Internal(hChannelHandle,
(FILE_DEVICE_TERMSRV << 16) | 0x010B); (FILE_DEVICE_TERMSRV << 16) | 0x010B);
} }
BOOL WINAPI Win32_WTSVirtualChannelQuery(HANDLE hChannelHandle, WTS_VIRTUAL_CLASS WtsVirtualClass, static BOOL WINAPI Win32_WTSVirtualChannelQuery(HANDLE hChannelHandle,
PVOID* ppBuffer, DWORD* pBytesReturned) WTS_VIRTUAL_CLASS WtsVirtualClass, PVOID* ppBuffer,
DWORD* pBytesReturned)
{ {
WTSAPI_CHANNEL* pChannel = (WTSAPI_CHANNEL*)hChannelHandle; WTSAPI_CHANNEL* pChannel = (WTSAPI_CHANNEL*)hChannelHandle;
@@ -764,19 +768,19 @@ BOOL WINAPI Win32_WTSVirtualChannelQuery(HANDLE hChannelHandle, WTS_VIRTUAL_CLAS
return TRUE; return TRUE;
} }
VOID WINAPI Win32_WTSFreeMemory(PVOID pMemory) static VOID WINAPI Win32_WTSFreeMemory(PVOID pMemory)
{ {
_wts_free(pMemory); _wts_free(pMemory);
} }
BOOL WINAPI Win32_WTSFreeMemoryExW(WTS_TYPE_CLASS WTSTypeClass, PVOID pMemory, static BOOL WINAPI Win32_WTSFreeMemoryExW(WTS_TYPE_CLASS WTSTypeClass, PVOID pMemory,
ULONG NumberOfEntries) ULONG NumberOfEntries)
{ {
return FALSE; return FALSE;
} }
BOOL WINAPI Win32_WTSFreeMemoryExA(WTS_TYPE_CLASS WTSTypeClass, PVOID pMemory, static BOOL WINAPI Win32_WTSFreeMemoryExA(WTS_TYPE_CLASS WTSTypeClass, PVOID pMemory,
ULONG NumberOfEntries) ULONG NumberOfEntries)
{ {
return WTSFreeMemoryExW(WTSTypeClass, pMemory, NumberOfEntries); return WTSFreeMemoryExW(WTSTypeClass, pMemory, NumberOfEntries);
} }