1 /*** Autogenerated by WIDL 1.5.31 from include/windows.security.cryptography.idl - Do not edit ***/ 2 3 #ifndef __REQUIRED_RPCNDR_H_VERSION__ 4 #define __REQUIRED_RPCNDR_H_VERSION__ 475 5 #endif 6 7 #include <rpc.h> 8 #include <rpcndr.h> 9 10 #ifndef COM_NO_WINDOWS_H 11 #include <windows.h> 12 #include <ole2.h> 13 #endif 14 15 #ifndef __windows_security_cryptography_h__ 16 #define __windows_security_cryptography_h__ 17 18 /* Forward declarations */ 19 20 #ifndef __ICryptographicBufferStatics_FWD_DEFINED__ 21 #define __ICryptographicBufferStatics_FWD_DEFINED__ 22 typedef interface ICryptographicBufferStatics ICryptographicBufferStatics; 23 #endif 24 25 /* Headers for imported files */ 26 27 #include <inspectable.h> 28 #include <windows.storage.streams.h> 29 30 #ifdef __cplusplus 31 extern "C" { 32 #endif 33 34 #ifndef __IBuffer_FWD_DEFINED__ 35 #define __IBuffer_FWD_DEFINED__ 36 typedef interface IBuffer IBuffer; 37 #endif 38 39 #ifndef __ICryptographicBufferStatics_FWD_DEFINED__ 40 #define __ICryptographicBufferStatics_FWD_DEFINED__ 41 typedef interface ICryptographicBufferStatics ICryptographicBufferStatics; 42 #endif 43 44 enum BinaryStringEncoding; 45 46 typedef enum BinaryStringEncoding { 47 Utf8 = 0, 48 Utf16LE = 1, 49 Utf16BE = 2 50 } BinaryStringEncoding; 51 /***************************************************************************** 52 * ICryptographicBufferStatics interface 53 */ 54 #ifndef __ICryptographicBufferStatics_INTERFACE_DEFINED__ 55 #define __ICryptographicBufferStatics_INTERFACE_DEFINED__ 56 57 DEFINE_GUID(IID_ICryptographicBufferStatics, 0x320b7e22, 0x3cb0, 0x4cdf, 0x86,0x63, 0x1d,0x28,0x91,0x00,0x65,0xeb); 58 #if defined(__cplusplus) && !defined(CINTERFACE) 59 MIDL_INTERFACE("320b7e22-3cb0-4cdf-8663-1d28910065eb") 60 ICryptographicBufferStatics : public IInspectable 61 { 62 virtual HRESULT STDMETHODCALLTYPE Compare( 63 IBuffer *object1, 64 IBuffer *object2, 65 boolean *isEqual) = 0; 66 67 virtual HRESULT STDMETHODCALLTYPE GenerateRandom( 68 UINT32 length, 69 IBuffer **buffer) = 0; 70 71 virtual HRESULT STDMETHODCALLTYPE GenerateRandomNumber( 72 UINT32 *value) = 0; 73 74 virtual HRESULT STDMETHODCALLTYPE CreateFromByteArray( 75 UINT32 __valueSize, 76 BYTE *value, 77 IBuffer **buffer) = 0; 78 79 virtual HRESULT STDMETHODCALLTYPE CopyToByteArray( 80 IBuffer *buffer, 81 UINT32 *__valueSize, 82 BYTE **value) = 0; 83 84 virtual HRESULT STDMETHODCALLTYPE DecodeFromHexString( 85 HSTRING value, 86 IBuffer **buffer) = 0; 87 88 virtual HRESULT STDMETHODCALLTYPE EncodeToHexString( 89 IBuffer *buffer, 90 HSTRING *value) = 0; 91 92 virtual HRESULT STDMETHODCALLTYPE DecodeFromBase64String( 93 HSTRING value, 94 IBuffer **buffer) = 0; 95 96 virtual HRESULT STDMETHODCALLTYPE EncodeToBase64String( 97 IBuffer *buffer, 98 HSTRING *value) = 0; 99 100 virtual HRESULT STDMETHODCALLTYPE ConvertStringToBinary( 101 HSTRING value, 102 BinaryStringEncoding encoding, 103 IBuffer **buffer) = 0; 104 105 virtual HRESULT STDMETHODCALLTYPE ConvertBinaryToString( 106 BinaryStringEncoding encoding, 107 IBuffer *buffer, 108 HSTRING *value) = 0; 109 110 }; 111 #ifdef __CRT_UUID_DECL 112 __CRT_UUID_DECL(ICryptographicBufferStatics, 0x320b7e22, 0x3cb0, 0x4cdf, 0x86,0x63, 0x1d,0x28,0x91,0x00,0x65,0xeb) 113 #endif 114 #else 115 typedef struct ICryptographicBufferStaticsVtbl { 116 BEGIN_INTERFACE 117 118 /*** IUnknown methods ***/ 119 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 120 ICryptographicBufferStatics* This, 121 REFIID riid, 122 void **ppvObject); 123 124 ULONG (STDMETHODCALLTYPE *AddRef)( 125 ICryptographicBufferStatics* This); 126 127 ULONG (STDMETHODCALLTYPE *Release)( 128 ICryptographicBufferStatics* This); 129 130 /*** IInspectable methods ***/ 131 HRESULT (STDMETHODCALLTYPE *GetIids)( 132 ICryptographicBufferStatics* This, 133 ULONG *iidCount, 134 IID **iids); 135 136 HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)( 137 ICryptographicBufferStatics* This, 138 HSTRING *className); 139 140 HRESULT (STDMETHODCALLTYPE *GetTrustLevel)( 141 ICryptographicBufferStatics* This, 142 TrustLevel *trustLevel); 143 144 /*** ICryptographicBufferStatics methods ***/ 145 HRESULT (STDMETHODCALLTYPE *Compare)( 146 ICryptographicBufferStatics* This, 147 IBuffer *object1, 148 IBuffer *object2, 149 boolean *isEqual); 150 151 HRESULT (STDMETHODCALLTYPE *GenerateRandom)( 152 ICryptographicBufferStatics* This, 153 UINT32 length, 154 IBuffer **buffer); 155 156 HRESULT (STDMETHODCALLTYPE *GenerateRandomNumber)( 157 ICryptographicBufferStatics* This, 158 UINT32 *value); 159 160 HRESULT (STDMETHODCALLTYPE *CreateFromByteArray)( 161 ICryptographicBufferStatics* This, 162 UINT32 __valueSize, 163 BYTE *value, 164 IBuffer **buffer); 165 166 HRESULT (STDMETHODCALLTYPE *CopyToByteArray)( 167 ICryptographicBufferStatics* This, 168 IBuffer *buffer, 169 UINT32 *__valueSize, 170 BYTE **value); 171 172 HRESULT (STDMETHODCALLTYPE *DecodeFromHexString)( 173 ICryptographicBufferStatics* This, 174 HSTRING value, 175 IBuffer **buffer); 176 177 HRESULT (STDMETHODCALLTYPE *EncodeToHexString)( 178 ICryptographicBufferStatics* This, 179 IBuffer *buffer, 180 HSTRING *value); 181 182 HRESULT (STDMETHODCALLTYPE *DecodeFromBase64String)( 183 ICryptographicBufferStatics* This, 184 HSTRING value, 185 IBuffer **buffer); 186 187 HRESULT (STDMETHODCALLTYPE *EncodeToBase64String)( 188 ICryptographicBufferStatics* This, 189 IBuffer *buffer, 190 HSTRING *value); 191 192 HRESULT (STDMETHODCALLTYPE *ConvertStringToBinary)( 193 ICryptographicBufferStatics* This, 194 HSTRING value, 195 BinaryStringEncoding encoding, 196 IBuffer **buffer); 197 198 HRESULT (STDMETHODCALLTYPE *ConvertBinaryToString)( 199 ICryptographicBufferStatics* This, 200 BinaryStringEncoding encoding, 201 IBuffer *buffer, 202 HSTRING *value); 203 204 END_INTERFACE 205 } ICryptographicBufferStaticsVtbl; 206 interface ICryptographicBufferStatics { 207 CONST_VTBL ICryptographicBufferStaticsVtbl* lpVtbl; 208 }; 209 210 #ifdef COBJMACROS 211 #ifndef WIDL_C_INLINE_WRAPPERS 212 /*** IUnknown methods ***/ 213 #define ICryptographicBufferStatics_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 214 #define ICryptographicBufferStatics_AddRef(This) (This)->lpVtbl->AddRef(This) 215 #define ICryptographicBufferStatics_Release(This) (This)->lpVtbl->Release(This) 216 /*** IInspectable methods ***/ 217 #define ICryptographicBufferStatics_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids) 218 #define ICryptographicBufferStatics_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className) 219 #define ICryptographicBufferStatics_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel) 220 /*** ICryptographicBufferStatics methods ***/ 221 #define ICryptographicBufferStatics_Compare(This,object1,object2,isEqual) (This)->lpVtbl->Compare(This,object1,object2,isEqual) 222 #define ICryptographicBufferStatics_GenerateRandom(This,length,buffer) (This)->lpVtbl->GenerateRandom(This,length,buffer) 223 #define ICryptographicBufferStatics_GenerateRandomNumber(This,value) (This)->lpVtbl->GenerateRandomNumber(This,value) 224 #define ICryptographicBufferStatics_CreateFromByteArray(This,__valueSize,value,buffer) (This)->lpVtbl->CreateFromByteArray(This,__valueSize,value,buffer) 225 #define ICryptographicBufferStatics_CopyToByteArray(This,buffer,__valueSize,value) (This)->lpVtbl->CopyToByteArray(This,buffer,__valueSize,value) 226 #define ICryptographicBufferStatics_DecodeFromHexString(This,value,buffer) (This)->lpVtbl->DecodeFromHexString(This,value,buffer) 227 #define ICryptographicBufferStatics_EncodeToHexString(This,buffer,value) (This)->lpVtbl->EncodeToHexString(This,buffer,value) 228 #define ICryptographicBufferStatics_DecodeFromBase64String(This,value,buffer) (This)->lpVtbl->DecodeFromBase64String(This,value,buffer) 229 #define ICryptographicBufferStatics_EncodeToBase64String(This,buffer,value) (This)->lpVtbl->EncodeToBase64String(This,buffer,value) 230 #define ICryptographicBufferStatics_ConvertStringToBinary(This,value,encoding,buffer) (This)->lpVtbl->ConvertStringToBinary(This,value,encoding,buffer) 231 #define ICryptographicBufferStatics_ConvertBinaryToString(This,encoding,buffer,value) (This)->lpVtbl->ConvertBinaryToString(This,encoding,buffer,value) 232 #else 233 /*** IUnknown methods ***/ 234 static FORCEINLINE HRESULT ICryptographicBufferStatics_QueryInterface(ICryptographicBufferStatics* This,REFIID riid,void **ppvObject) { 235 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 236 } 237 static FORCEINLINE ULONG ICryptographicBufferStatics_AddRef(ICryptographicBufferStatics* This) { 238 return This->lpVtbl->AddRef(This); 239 } 240 static FORCEINLINE ULONG ICryptographicBufferStatics_Release(ICryptographicBufferStatics* This) { 241 return This->lpVtbl->Release(This); 242 } 243 /*** IInspectable methods ***/ 244 static FORCEINLINE HRESULT ICryptographicBufferStatics_GetIids(ICryptographicBufferStatics* This,ULONG *iidCount,IID **iids) { 245 return This->lpVtbl->GetIids(This,iidCount,iids); 246 } 247 static FORCEINLINE HRESULT ICryptographicBufferStatics_GetRuntimeClassName(ICryptographicBufferStatics* This,HSTRING *className) { 248 return This->lpVtbl->GetRuntimeClassName(This,className); 249 } 250 static FORCEINLINE HRESULT ICryptographicBufferStatics_GetTrustLevel(ICryptographicBufferStatics* This,TrustLevel *trustLevel) { 251 return This->lpVtbl->GetTrustLevel(This,trustLevel); 252 } 253 /*** ICryptographicBufferStatics methods ***/ 254 static FORCEINLINE HRESULT ICryptographicBufferStatics_Compare(ICryptographicBufferStatics* This,IBuffer *object1,IBuffer *object2,boolean *isEqual) { 255 return This->lpVtbl->Compare(This,object1,object2,isEqual); 256 } 257 static FORCEINLINE HRESULT ICryptographicBufferStatics_GenerateRandom(ICryptographicBufferStatics* This,UINT32 length,IBuffer **buffer) { 258 return This->lpVtbl->GenerateRandom(This,length,buffer); 259 } 260 static FORCEINLINE HRESULT ICryptographicBufferStatics_GenerateRandomNumber(ICryptographicBufferStatics* This,UINT32 *value) { 261 return This->lpVtbl->GenerateRandomNumber(This,value); 262 } 263 static FORCEINLINE HRESULT ICryptographicBufferStatics_CreateFromByteArray(ICryptographicBufferStatics* This,UINT32 __valueSize,BYTE *value,IBuffer **buffer) { 264 return This->lpVtbl->CreateFromByteArray(This,__valueSize,value,buffer); 265 } 266 static FORCEINLINE HRESULT ICryptographicBufferStatics_CopyToByteArray(ICryptographicBufferStatics* This,IBuffer *buffer,UINT32 *__valueSize,BYTE **value) { 267 return This->lpVtbl->CopyToByteArray(This,buffer,__valueSize,value); 268 } 269 static FORCEINLINE HRESULT ICryptographicBufferStatics_DecodeFromHexString(ICryptographicBufferStatics* This,HSTRING value,IBuffer **buffer) { 270 return This->lpVtbl->DecodeFromHexString(This,value,buffer); 271 } 272 static FORCEINLINE HRESULT ICryptographicBufferStatics_EncodeToHexString(ICryptographicBufferStatics* This,IBuffer *buffer,HSTRING *value) { 273 return This->lpVtbl->EncodeToHexString(This,buffer,value); 274 } 275 static FORCEINLINE HRESULT ICryptographicBufferStatics_DecodeFromBase64String(ICryptographicBufferStatics* This,HSTRING value,IBuffer **buffer) { 276 return This->lpVtbl->DecodeFromBase64String(This,value,buffer); 277 } 278 static FORCEINLINE HRESULT ICryptographicBufferStatics_EncodeToBase64String(ICryptographicBufferStatics* This,IBuffer *buffer,HSTRING *value) { 279 return This->lpVtbl->EncodeToBase64String(This,buffer,value); 280 } 281 static FORCEINLINE HRESULT ICryptographicBufferStatics_ConvertStringToBinary(ICryptographicBufferStatics* This,HSTRING value,BinaryStringEncoding encoding,IBuffer **buffer) { 282 return This->lpVtbl->ConvertStringToBinary(This,value,encoding,buffer); 283 } 284 static FORCEINLINE HRESULT ICryptographicBufferStatics_ConvertBinaryToString(ICryptographicBufferStatics* This,BinaryStringEncoding encoding,IBuffer *buffer,HSTRING *value) { 285 return This->lpVtbl->ConvertBinaryToString(This,encoding,buffer,value); 286 } 287 #endif 288 #endif 289 290 #endif 291 292 HRESULT STDMETHODCALLTYPE ICryptographicBufferStatics_Compare_Proxy( 293 ICryptographicBufferStatics* This, 294 IBuffer *object1, 295 IBuffer *object2, 296 boolean *isEqual); 297 void __RPC_STUB ICryptographicBufferStatics_Compare_Stub( 298 IRpcStubBuffer* This, 299 IRpcChannelBuffer* pRpcChannelBuffer, 300 PRPC_MESSAGE pRpcMessage, 301 DWORD* pdwStubPhase); 302 HRESULT STDMETHODCALLTYPE ICryptographicBufferStatics_GenerateRandom_Proxy( 303 ICryptographicBufferStatics* This, 304 UINT32 length, 305 IBuffer **buffer); 306 void __RPC_STUB ICryptographicBufferStatics_GenerateRandom_Stub( 307 IRpcStubBuffer* This, 308 IRpcChannelBuffer* pRpcChannelBuffer, 309 PRPC_MESSAGE pRpcMessage, 310 DWORD* pdwStubPhase); 311 HRESULT STDMETHODCALLTYPE ICryptographicBufferStatics_GenerateRandomNumber_Proxy( 312 ICryptographicBufferStatics* This, 313 UINT32 *value); 314 void __RPC_STUB ICryptographicBufferStatics_GenerateRandomNumber_Stub( 315 IRpcStubBuffer* This, 316 IRpcChannelBuffer* pRpcChannelBuffer, 317 PRPC_MESSAGE pRpcMessage, 318 DWORD* pdwStubPhase); 319 HRESULT STDMETHODCALLTYPE ICryptographicBufferStatics_CreateFromByteArray_Proxy( 320 ICryptographicBufferStatics* This, 321 UINT32 __valueSize, 322 BYTE *value, 323 IBuffer **buffer); 324 void __RPC_STUB ICryptographicBufferStatics_CreateFromByteArray_Stub( 325 IRpcStubBuffer* This, 326 IRpcChannelBuffer* pRpcChannelBuffer, 327 PRPC_MESSAGE pRpcMessage, 328 DWORD* pdwStubPhase); 329 HRESULT STDMETHODCALLTYPE ICryptographicBufferStatics_CopyToByteArray_Proxy( 330 ICryptographicBufferStatics* This, 331 IBuffer *buffer, 332 UINT32 *__valueSize, 333 BYTE **value); 334 void __RPC_STUB ICryptographicBufferStatics_CopyToByteArray_Stub( 335 IRpcStubBuffer* This, 336 IRpcChannelBuffer* pRpcChannelBuffer, 337 PRPC_MESSAGE pRpcMessage, 338 DWORD* pdwStubPhase); 339 HRESULT STDMETHODCALLTYPE ICryptographicBufferStatics_DecodeFromHexString_Proxy( 340 ICryptographicBufferStatics* This, 341 HSTRING value, 342 IBuffer **buffer); 343 void __RPC_STUB ICryptographicBufferStatics_DecodeFromHexString_Stub( 344 IRpcStubBuffer* This, 345 IRpcChannelBuffer* pRpcChannelBuffer, 346 PRPC_MESSAGE pRpcMessage, 347 DWORD* pdwStubPhase); 348 HRESULT STDMETHODCALLTYPE ICryptographicBufferStatics_EncodeToHexString_Proxy( 349 ICryptographicBufferStatics* This, 350 IBuffer *buffer, 351 HSTRING *value); 352 void __RPC_STUB ICryptographicBufferStatics_EncodeToHexString_Stub( 353 IRpcStubBuffer* This, 354 IRpcChannelBuffer* pRpcChannelBuffer, 355 PRPC_MESSAGE pRpcMessage, 356 DWORD* pdwStubPhase); 357 HRESULT STDMETHODCALLTYPE ICryptographicBufferStatics_DecodeFromBase64String_Proxy( 358 ICryptographicBufferStatics* This, 359 HSTRING value, 360 IBuffer **buffer); 361 void __RPC_STUB ICryptographicBufferStatics_DecodeFromBase64String_Stub( 362 IRpcStubBuffer* This, 363 IRpcChannelBuffer* pRpcChannelBuffer, 364 PRPC_MESSAGE pRpcMessage, 365 DWORD* pdwStubPhase); 366 HRESULT STDMETHODCALLTYPE ICryptographicBufferStatics_EncodeToBase64String_Proxy( 367 ICryptographicBufferStatics* This, 368 IBuffer *buffer, 369 HSTRING *value); 370 void __RPC_STUB ICryptographicBufferStatics_EncodeToBase64String_Stub( 371 IRpcStubBuffer* This, 372 IRpcChannelBuffer* pRpcChannelBuffer, 373 PRPC_MESSAGE pRpcMessage, 374 DWORD* pdwStubPhase); 375 HRESULT STDMETHODCALLTYPE ICryptographicBufferStatics_ConvertStringToBinary_Proxy( 376 ICryptographicBufferStatics* This, 377 HSTRING value, 378 BinaryStringEncoding encoding, 379 IBuffer **buffer); 380 void __RPC_STUB ICryptographicBufferStatics_ConvertStringToBinary_Stub( 381 IRpcStubBuffer* This, 382 IRpcChannelBuffer* pRpcChannelBuffer, 383 PRPC_MESSAGE pRpcMessage, 384 DWORD* pdwStubPhase); 385 HRESULT STDMETHODCALLTYPE ICryptographicBufferStatics_ConvertBinaryToString_Proxy( 386 ICryptographicBufferStatics* This, 387 BinaryStringEncoding encoding, 388 IBuffer *buffer, 389 HSTRING *value); 390 void __RPC_STUB ICryptographicBufferStatics_ConvertBinaryToString_Stub( 391 IRpcStubBuffer* This, 392 IRpcChannelBuffer* pRpcChannelBuffer, 393 PRPC_MESSAGE pRpcMessage, 394 DWORD* pdwStubPhase); 395 396 #endif /* __ICryptographicBufferStatics_INTERFACE_DEFINED__ */ 397 398 /* Begin additional prototypes for all interfaces */ 399 400 ULONG __RPC_USER HSTRING_UserSize (ULONG *, ULONG, HSTRING *); 401 unsigned char * __RPC_USER HSTRING_UserMarshal (ULONG *, unsigned char *, HSTRING *); 402 unsigned char * __RPC_USER HSTRING_UserUnmarshal(ULONG *, unsigned char *, HSTRING *); 403 void __RPC_USER HSTRING_UserFree (ULONG *, HSTRING *); 404 405 /* End additional prototypes */ 406 407 #ifdef __cplusplus 408 } 409 #endif 410 411 #endif /* __windows_security_cryptography_h__ */ 412