Modify widl to put the C COM macros inside an #ifdef COBJMACROS block
[wine/wine-kai.git] / dlls / oleaut32 / tests / olefont.c
blob6c0f26f52ce01ce627c24920ab598ead6432709c
1 /*
2 * OLEFONT test program
4 * Copyright 2003 Marcus Meissner
7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public
9 * License as published by the Free Software Foundation; either
10 * version 2.1 of the License, or (at your option) any later version.
12 * This library is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with this library; if not, write to the Free Software
19 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
22 #include <stdarg.h>
23 #include <stdio.h>
24 #include <stdlib.h>
25 #include <math.h>
26 #include <float.h>
27 #include <time.h>
29 #include <wine/test.h>
30 #include <windef.h>
31 #include <winbase.h>
32 #include <winuser.h>
33 #include <wingdi.h>
34 #include <winnls.h>
35 #include <winerror.h>
36 #include <winnt.h>
38 #include <wtypes.h>
39 #define COBJMACROS
40 #include <olectl.h>
42 static HMODULE hOleaut32;
44 static HRESULT (WINAPI *pOleCreateFontIndirect)(LPFONTDESC,REFIID,LPVOID*);
46 START_TEST(olefont)
48 LPVOID pvObj = NULL;
49 HRESULT hres;
50 IFont* font = NULL;
52 hOleaut32 = LoadLibraryA("oleaut32.dll");
53 pOleCreateFontIndirect = (void*)GetProcAddress(hOleaut32, "OleCreateFontIndirect");
54 if (!pOleCreateFontIndirect)
55 return;
57 hres = pOleCreateFontIndirect(NULL, &IID_IFont, &pvObj);
58 font = pvObj;
60 ok(hres == S_OK,"OCFI (NULL,..) does not return 0, but 0x%08lx\n",hres);
61 ok(font != NULL,"OCFI (NULL,..) returns NULL, instead of !NULL\n");
63 pvObj = NULL;
64 hres = IFont_QueryInterface( font, &IID_IFont, &pvObj);
66 ok(hres == S_OK,"IFont_QI does not return S_OK, but 0x%08lx\n", hres);
67 ok(pvObj != NULL,"IFont_QI does return NULL, instead of a ptr\n");