1 /* Avrt dll implementation
3 * Copyright (C) 2009 Maarten Lankhorst
5 * This program is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Lesser General Public
7 * License as published by the Free Software Foundation; either
8 * version 2.1 of the License, or (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Lesser General Public License for more details.
15 * You should have received a copy of the GNU Lesser General Public
16 * License along with this program; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
25 #include "wine/debug.h"
28 WINE_DEFAULT_DEBUG_CHANNEL(avrt
);
30 static inline WCHAR
*strdupAW(const char *src
)
34 if (!src
) return NULL
;
35 len
= MultiByteToWideChar(CP_ACP
, 0, src
, -1, NULL
, 0);
36 if ((dst
= malloc(len
* sizeof(*dst
)))) MultiByteToWideChar(CP_ACP
, 0, src
, -1, dst
, len
);
40 HANDLE WINAPI
AvSetMmThreadCharacteristicsA(const char *name
, DWORD
*index
)
45 if (name
&& !(nameW
= strdupAW(name
)))
47 SetLastError(ERROR_OUTOFMEMORY
);
51 ret
= AvSetMmThreadCharacteristicsW(nameW
, index
);
57 HANDLE WINAPI
AvSetMmThreadCharacteristicsW(const WCHAR
*name
, DWORD
*index
)
59 FIXME("(%s,%p): stub\n", debugstr_w(name
), index
);
63 SetLastError(ERROR_INVALID_TASK_NAME
);
69 SetLastError(ERROR_INVALID_HANDLE
);
73 return (HANDLE
)0x12345678;
76 BOOL WINAPI
AvQuerySystemResponsiveness(HANDLE AvrtHandle
, ULONG
*value
)
78 FIXME("(%p, %p): stub\n", AvrtHandle
, value
);
82 BOOL WINAPI
AvRevertMmThreadCharacteristics(HANDLE AvrtHandle
)
84 FIXME("(%p): stub\n", AvrtHandle
);
88 BOOL WINAPI
AvSetMmThreadPriority(HANDLE AvrtHandle
, AVRT_PRIORITY prio
)
90 FIXME("(%p)->(%u) stub\n", AvrtHandle
, prio
);
94 HANDLE WINAPI
AvSetMmMaxThreadCharacteristicsA(const char *task1
, const char *task2
, DWORD
*index
)
96 WCHAR
*task1W
= NULL
, *task2W
= NULL
;
99 if (task1
&& !(task1W
= strdupAW(task1
)))
101 SetLastError(ERROR_OUTOFMEMORY
);
105 if (task2
&& !(task2W
= strdupAW(task2
)))
107 SetLastError(ERROR_OUTOFMEMORY
);
111 ret
= AvSetMmMaxThreadCharacteristicsW(task1W
, task2W
, index
);
118 HANDLE WINAPI
AvSetMmMaxThreadCharacteristicsW(const WCHAR
*task1
, const WCHAR
*task2
, DWORD
*index
)
120 FIXME("(%s,%s,%p): stub\n", debugstr_w(task1
), debugstr_w(task2
), index
);
124 SetLastError(ERROR_INVALID_TASK_NAME
);
130 SetLastError(ERROR_INVALID_HANDLE
);
134 return (HANDLE
)0x12345678;