Skip to content
This repository has been archived by the owner on Feb 11, 2021. It is now read-only.

Latest commit

 

History

History
66 lines (52 loc) · 1.85 KB

SDL_windows.c

File metadata and controls

66 lines (52 loc) · 1.85 KB
 
Jun 22, 2011
Jun 22, 2011
1
2
/*
Simple DirectMedia Layer
Dec 31, 2011
Dec 31, 2011
3
Copyright (C) 1997-2012 Sam Lantinga <slouken@libsdl.org>
Jun 22, 2011
Jun 22, 2011
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
arising from the use of this software.
Permission is granted to anyone to use this software for any purpose,
including commercial applications, and to alter it and redistribute it
freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you must not
claim that you wrote the original software. If you use this software
in a product, an acknowledgment in the product documentation would be
appreciated but is not required.
2. Altered source versions must be plainly marked as such, and must not be
misrepresented as being the original software.
3. This notice may not be removed or altered from any source distribution.
*/
#include "SDL_config.h"
Oct 31, 2011
Oct 31, 2011
23
24
#ifdef __WIN32__
Jun 22, 2011
Jun 22, 2011
25
26
27
#include "SDL_error.h"
#include "SDL_windows.h"
Aug 4, 2011
Aug 4, 2011
28
#include <objbase.h> /* for CoInitialize/CoUninitialize */
Aug 3, 2011
Aug 3, 2011
29
Jun 22, 2011
Jun 22, 2011
30
31
32
33
34
35
36
37
38
39
40
41
42
43
/* Sets an error message based on GetLastError() */
void
WIN_SetError(const char *prefix)
{
TCHAR buffer[1024];
char *message;
FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, NULL, GetLastError(), 0,
buffer, SDL_arraysize(buffer), NULL);
message = WIN_StringToUTF8(buffer);
SDL_SetError("%s%s%s", prefix ? prefix : "", prefix ? ": " : "", message);
SDL_free(message);
}
Aug 3, 2011
Aug 3, 2011
44
45
46
HRESULT
WIN_CoInitialize(void)
{
Oct 26, 2011
Oct 26, 2011
47
48
const HRESULT hr = CoInitialize(NULL);
Aug 3, 2011
Aug 3, 2011
49
50
/* S_FALSE means success, but someone else already initialized. */
/* You still need to call CoUninitialize in this case! */
Oct 26, 2011
Oct 26, 2011
51
if (hr == S_FALSE) {
Aug 3, 2011
Aug 3, 2011
52
53
54
55
56
57
58
59
60
61
62
63
return S_OK;
}
return hr;
}
void
WIN_CoUninitialize(void)
{
CoUninitialize();
}
Oct 31, 2011
Oct 31, 2011
64
65
#endif /* __WIN32__ */
Jun 22, 2011
Jun 22, 2011
66
/* vi: set ts=4 sw=4 expandtab: */