17ec681f3Smrg/* 27ec681f3Smrg * Copyright 2011 Joakim Sindholt <opensource@zhasha.com> 37ec681f3Smrg * 47ec681f3Smrg * Permission is hereby granted, free of charge, to any person obtaining a 57ec681f3Smrg * copy of this software and associated documentation files (the "Software"), 67ec681f3Smrg * to deal in the Software without restriction, including without limitation 77ec681f3Smrg * on the rights to use, copy, modify, merge, publish, distribute, sub 87ec681f3Smrg * license, and/or sell copies of the Software, and to permit persons to whom 97ec681f3Smrg * the Software is furnished to do so, subject to the following conditions: 107ec681f3Smrg * 117ec681f3Smrg * The above copyright notice and this permission notice (including the next 127ec681f3Smrg * paragraph) shall be included in all copies or substantial portions of the 137ec681f3Smrg * Software. 147ec681f3Smrg * 157ec681f3Smrg * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 167ec681f3Smrg * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 177ec681f3Smrg * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL 187ec681f3Smrg * THE AUTHOR(S) AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, 197ec681f3Smrg * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 207ec681f3Smrg * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE 217ec681f3Smrg * USE OR OTHER DEALINGS IN THE SOFTWARE. */ 227ec681f3Smrg 237ec681f3Smrg#include "cryptosession9.h" 247ec681f3Smrg 257ec681f3Smrg#define DBG_CHANNEL DBG_CRYPTOSESSION 267ec681f3Smrg 277ec681f3SmrgHRESULT NINE_WINAPI 287ec681f3SmrgNineCryptoSession9_GetCertificateSize( struct NineCryptoSession9 *This, 297ec681f3Smrg UINT *pCertificateSize ) 307ec681f3Smrg{ 317ec681f3Smrg STUB(D3DERR_INVALIDCALL); 327ec681f3Smrg} 337ec681f3Smrg 347ec681f3SmrgHRESULT NINE_WINAPI 357ec681f3SmrgNineCryptoSession9_GetCertificate( struct NineCryptoSession9 *This, 367ec681f3Smrg UINT CertifacteSize, 377ec681f3Smrg BYTE *ppCertificate ) 387ec681f3Smrg{ 397ec681f3Smrg STUB(D3DERR_INVALIDCALL); 407ec681f3Smrg} 417ec681f3Smrg 427ec681f3SmrgHRESULT NINE_WINAPI 437ec681f3SmrgNineCryptoSession9_NegotiateKeyExchange( struct NineCryptoSession9 *This, 447ec681f3Smrg UINT DataSize, 457ec681f3Smrg void *pData ) 467ec681f3Smrg{ 477ec681f3Smrg STUB(D3DERR_INVALIDCALL); 487ec681f3Smrg} 497ec681f3Smrg 507ec681f3SmrgHRESULT NINE_WINAPI 517ec681f3SmrgNineCryptoSession9_EncryptionBlt( struct NineCryptoSession9 *This, 527ec681f3Smrg IDirect3DSurface9 *pSrcSurface, 537ec681f3Smrg IDirect3DSurface9 *pDstSurface, 547ec681f3Smrg UINT DstSurfaceSize, 557ec681f3Smrg void *pIV ) 567ec681f3Smrg{ 577ec681f3Smrg STUB(D3DERR_INVALIDCALL); 587ec681f3Smrg} 597ec681f3Smrg 607ec681f3SmrgHRESULT NINE_WINAPI 617ec681f3SmrgNineCryptoSession9_DecryptionBlt( struct NineCryptoSession9 *This, 627ec681f3Smrg IDirect3DSurface9 *pSrcSurface, 637ec681f3Smrg IDirect3DSurface9 *pDstSurface, 647ec681f3Smrg UINT SrcSurfaceSize, 657ec681f3Smrg D3DENCRYPTED_BLOCK_INFO *pEncryptedBlockInfo, 667ec681f3Smrg void *pContentKey, 677ec681f3Smrg void *pIV ) 687ec681f3Smrg{ 697ec681f3Smrg STUB(D3DERR_INVALIDCALL); 707ec681f3Smrg} 717ec681f3Smrg 727ec681f3SmrgHRESULT NINE_WINAPI 737ec681f3SmrgNineCryptoSession9_GetSurfacePitch( struct NineCryptoSession9 *This, 747ec681f3Smrg IDirect3DSurface9 *pSrcSurface, 757ec681f3Smrg UINT *pSurfacePitch ) 767ec681f3Smrg{ 777ec681f3Smrg STUB(D3DERR_INVALIDCALL); 787ec681f3Smrg} 797ec681f3Smrg 807ec681f3SmrgHRESULT NINE_WINAPI 817ec681f3SmrgNineCryptoSession9_StartSessionKeyRefresh( struct NineCryptoSession9 *This, 827ec681f3Smrg void *pRandomNumber, 837ec681f3Smrg UINT RandomNumberSize ) 847ec681f3Smrg{ 857ec681f3Smrg STUB(D3DERR_INVALIDCALL); 867ec681f3Smrg} 877ec681f3Smrg 887ec681f3SmrgHRESULT NINE_WINAPI 897ec681f3SmrgNineCryptoSession9_FinishSessionKeyRefresh( struct NineCryptoSession9 *This ) 907ec681f3Smrg{ 917ec681f3Smrg STUB(D3DERR_INVALIDCALL); 927ec681f3Smrg} 937ec681f3Smrg 947ec681f3SmrgHRESULT NINE_WINAPI 957ec681f3SmrgNineCryptoSession9_GetEncryptionBltKey( struct NineCryptoSession9 *This, 967ec681f3Smrg void *pReadbackKey, 977ec681f3Smrg UINT KeySize ) 987ec681f3Smrg{ 997ec681f3Smrg STUB(D3DERR_INVALIDCALL); 1007ec681f3Smrg} 1017ec681f3Smrg 1027ec681f3SmrgIDirect3DCryptoSession9Vtbl NineCryptoSession9_vtable = { 1037ec681f3Smrg (void *)NineUnknown_QueryInterface, 1047ec681f3Smrg (void *)NineUnknown_AddRef, 1057ec681f3Smrg (void *)NineUnknown_Release, 1067ec681f3Smrg (void *)NineCryptoSession9_GetCertificateSize, 1077ec681f3Smrg (void *)NineCryptoSession9_GetCertificate, 1087ec681f3Smrg (void *)NineCryptoSession9_NegotiateKeyExchange, 1097ec681f3Smrg (void *)NineCryptoSession9_EncryptionBlt, 1107ec681f3Smrg (void *)NineCryptoSession9_DecryptionBlt, 1117ec681f3Smrg (void *)NineCryptoSession9_GetSurfacePitch, 1127ec681f3Smrg (void *)NineCryptoSession9_StartSessionKeyRefresh, 1137ec681f3Smrg (void *)NineCryptoSession9_FinishSessionKeyRefresh, 1147ec681f3Smrg (void *)NineCryptoSession9_GetEncryptionBltKey 1157ec681f3Smrg}; 116