dnsapi: Cast-qual warnings fix.
[wine] / dlls / wintrust / wintrust_main.c
1 /*
2  * Copyright 2001 Rein Klazes
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2.1 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17  */
18
19 #include "config.h"
20
21 #include <stdarg.h>
22
23 #include "windef.h"
24 #include "winbase.h"
25 #include "winerror.h"
26 #include "guiddef.h"
27 #include "wintrust.h"
28 #include "softpub.h"
29 #include "mscat.h"
30 #include "objbase.h"
31
32 #include "wine/debug.h"
33
34 WINE_DEFAULT_DEBUG_CHANNEL(wintrust);
35
36
37 /***********************************************************************
38  *              DllMain  (WINTRUST.@)
39  */
40 BOOL WINAPI DllMain( HINSTANCE inst, DWORD reason, LPVOID reserved )
41 {
42     switch(reason)
43     {
44     case DLL_WINE_PREATTACH:
45         return FALSE;  /* prefer native version */
46     case DLL_PROCESS_ATTACH:
47         DisableThreadLibraryCalls( inst );
48         break;
49     }
50     return TRUE;
51 }
52
53 /***********************************************************************
54  *              CryptCATAdminAcquireContext (WINTRUST.@)
55  *
56  * Get a catalog administrator context handle.
57  *
58  * PARAMS
59  *   catAdmin  [O] Pointer to the context handle.
60  *   sysSystem [I] Pointer to a GUID for the needed subsystem.
61  *   dwFlags   [I] Reserved.
62  *
63  * RETURNS
64  *   Success: TRUE. catAdmin contains the context handle.
65  *   Failure: FAIL.
66  *
67  */
68 BOOL WINAPI CryptCATAdminAcquireContext(HCATADMIN* catAdmin,
69                                         const GUID *sysSystem, DWORD dwFlags )
70 {
71     FIXME("%p %s %lx\n", catAdmin, debugstr_guid(sysSystem), dwFlags);
72     SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
73     return FALSE;
74 }
75
76 /***********************************************************************
77  *             CryptCATAdminCalcHashFromFileHandle (WINTRUST.@)
78  */
79 BOOL WINAPI CryptCATAdminCalcHashFromFileHandle(HANDLE hFile, DWORD* pcbHash,
80                                                 BYTE* pbHash, DWORD dwFlags )
81 {
82     FIXME("%p %p %p %lx\n", hFile, pcbHash, pbHash, dwFlags);
83     SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
84     return FALSE;
85 }
86
87 /***********************************************************************
88  *             CryptCATAdminEnumCatalogFromHash (WINTRUST.@)
89  */
90 HCATINFO WINAPI CryptCATAdminEnumCatalogFromHash(HCATADMIN hCatAdmin,
91                                                  BYTE* pbHash,
92                                                  DWORD cbHash,
93                                                  DWORD dwFlags,
94                                                  HCATINFO* phPrevCatInfo )
95 {
96     FIXME("%p %p %ld %ld %p\n", hCatAdmin, pbHash, cbHash, dwFlags, phPrevCatInfo);
97     SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
98     return NULL;
99 }
100
101 /***********************************************************************
102  *              CryptCATAdminReleaseContext (WINTRUST.@)
103  *
104  * Release a catalog administrator context handle.
105  *
106  * PARAMS
107  *   catAdmin  [I] Pointer to the context handle.
108  *   dwFlags   [I] Reserved.
109  *
110  * RETURNS
111  *   Success: TRUE.
112  *   Failure: FAIL.
113  *
114  */
115 BOOL WINAPI CryptCATAdminReleaseContext(HCATADMIN hCatAdmin, DWORD dwFlags )
116 {
117     FIXME("%p %lx\n", hCatAdmin, dwFlags);
118     SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
119     return FALSE;
120 }
121
122 /***********************************************************************
123  *              TrustIsCertificateSelfSigned (WINTRUST.@)
124  */
125 BOOL WINAPI TrustIsCertificateSelfSigned( PCCERT_CONTEXT cert )
126 {
127     BOOL ret;
128
129     TRACE("%p\n", cert);
130     ret = CertCompareCertificateName(cert->dwCertEncodingType,
131      &cert->pCertInfo->Subject, &cert->pCertInfo->Issuer);
132     return ret;
133 }
134
135 /***********************************************************************
136  *              WinVerifyTrust (WINTRUST.@)
137  *
138  * Verifies an object by calling the specified trust provider.
139  *
140  * PARAMS
141  *   hwnd       [I] Handle to a caller window.
142  *   ActionID   [I] Pointer to a GUID that identifies the action to perform.
143  *   ActionData [I] Information used by the trust provider to verify the object.
144  *
145  * RETURNS
146  *   Success: Zero.
147  *   Failure: A TRUST_E_* error code.
148  *
149  * NOTES
150  *   Trust providers can be found at:
151  *   HKLM\SOFTWARE\Microsoft\Cryptography\Providers\Trust\
152  */
153 LONG WINAPI WinVerifyTrust( HWND hwnd, GUID *ActionID,  WINTRUST_DATA* ActionData )
154 {
155     FIXME("%p %s %p\n", hwnd, debugstr_guid(ActionID), ActionData);
156     return ERROR_SUCCESS;
157 }
158
159 /***********************************************************************
160  *              WinVerifyTrustEx (WINTRUST.@)
161  */
162 HRESULT WINAPI WinVerifyTrustEx( HWND hwnd, GUID *ActionID,
163  WINTRUST_DATA* ActionData )
164 {
165     FIXME("%p %s %p\n", hwnd, debugstr_guid(ActionID), ActionData);
166     return S_OK;
167 }
168
169 /***********************************************************************
170  *              WTHelperGetProvSignerFromChain (WINTRUST.@)
171  */
172 CRYPT_PROVIDER_SGNR * WINAPI WTHelperGetProvSignerFromChain(
173  CRYPT_PROVIDER_DATA *pProvData, DWORD idxSigner, BOOL fCounterSigner,
174  DWORD idxCounterSigner)
175 {
176     FIXME("%p %ld %d %ld\n", pProvData, idxSigner, fCounterSigner,
177      idxCounterSigner);
178     return NULL;
179 }
180
181 /***********************************************************************
182  *              WTHelperProvDataFromStateData (WINTRUST.@)
183  */
184 CRYPT_PROVIDER_DATA * WINAPI WTHelperProvDataFromStateData(HANDLE hStateData)
185 {
186     FIXME("%p\n", hStateData);
187     return NULL;
188 }
189
190 /***********************************************************************
191  *              WintrustLoadFunctionPointers (WINTRUST.@)
192  */
193 BOOL WINAPI WintrustLoadFunctionPointers( GUID* pgActionID,
194                                           CRYPT_PROVIDER_FUNCTIONS* pPfns )
195 {
196     FIXME("%s %p\n", debugstr_guid(pgActionID), pPfns);
197     SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
198     return FALSE;
199 }
200
201 /***********************************************************************
202  *              WintrustGetRegPolicyFlags (WINTRUST.@)
203  */
204 void WINAPI WintrustGetRegPolicyFlags( DWORD* pdwPolicyFlags )
205 {
206     FIXME("%p\n", pdwPolicyFlags);
207     *pdwPolicyFlags = 0;
208 }
209
210 /***********************************************************************
211  *              WintrustSetRegPolicyFlags (WINTRUST.@)
212  */
213 BOOL WINAPI WintrustSetRegPolicyFlags( DWORD dwPolicyFlags)
214 {
215     FIXME("stub: %lx\n", dwPolicyFlags);
216     return TRUE;
217 }