Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

86 lines
2.6 KiB

  1. //+-------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. //
  5. // Copyright (C) Microsoft Corporation, 1997 - 1999
  6. //
  7. // File: pstrpc.idl
  8. //
  9. //--------------------------------------------------------------------------
  10. import "unknwn.idl";
  11. import "basetsd.h";
  12. typedef struct _SSCRYPTPROTECTDATA_PROMPTSTRUCT
  13. {
  14. DWORD cbSize;
  15. DWORD dwPromptFlags;
  16. // DWORD_PTR hwndApp;
  17. // LPCWSTR szPrompt;
  18. } SSCRYPTPROTECTDATA_PROMPTSTRUCT, *PSSCRYPTPROTECTDATA_PROMPTSTRUCT;
  19. ////////////////////////////
  20. // Interfaces
  21. [
  22. uuid(11220835-5b26-4d94-ae86-c3e475a809de),
  23. version(1.0),
  24. pointer_default(unique)
  25. ]
  26. interface ICryptProtect
  27. {
  28. DWORD
  29. SSCryptProtectData(
  30. [in] handle_t h,
  31. [out][size_is(,*pcbOut)] BYTE** ppbOut,
  32. [out] DWORD* pcbOut,
  33. [in][size_is(cbIn)] BYTE* pbIn, // in encr data
  34. [in] DWORD cbIn, // in encr cb
  35. [in] LPCWSTR szDataDescr,
  36. [in,ptr][size_is(cbOptionalEntropy)]
  37. BYTE* pbOptionalEntropy,
  38. [in] DWORD cbOptionalEntropy,
  39. [in,ptr] GUID* pguidProvider,
  40. [in,ptr] PSSCRYPTPROTECTDATA_PROMPTSTRUCT pPromptStruct,
  41. [in] DWORD dwFlags,
  42. [in,ptr][size_is(cbOptionalPassword)]
  43. BYTE* pbOptionalPassword,
  44. [in] DWORD cbOptionalPassword
  45. );
  46. DWORD
  47. SSCryptUnprotectData(
  48. [in] handle_t h,
  49. [out][size_is(,*pcbOut)] BYTE** ppbOut,
  50. [out] DWORD* pcbOut,
  51. [in][size_is(cbIn)] BYTE* pbIn, // in encr data
  52. [in] DWORD cbIn, // in encr cb
  53. [in,out,ptr] LPWSTR* ppszDataDescr,
  54. [in,ptr][size_is(cbOptionalEntropy)]
  55. BYTE* pbOptionalEntropy,
  56. [in] DWORD cbOptionalEntropy,
  57. [in,out,ptr] GUID* pguidProvider,
  58. [in,ptr] PSSCRYPTPROTECTDATA_PROMPTSTRUCT pPromptStruct,
  59. [in] DWORD dwFlags,
  60. [in,ptr][size_is(cbOptionalPassword)]
  61. BYTE* pbOptionalPassword,
  62. [in] DWORD cbOptionalPassword
  63. );
  64. }