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.

70 lines
1.6 KiB

  1. //+------------------------------------------------------------------------
  2. //
  3. // Class: Copy functionality implemented here
  4. //
  5. // Purpose: Contains Winnt routines and properties that are common to
  6. // all Winnt objects. Winnt objects get the routines and
  7. // properties through C++ inheritance.
  8. //
  9. //-------------------------------------------------------------------------
  10. HRESULT
  11. CopyObject(
  12. IN LPWSTR pszSrcADsPath,
  13. IN LPWSTR pszDestContainer,
  14. IN ADS_LDP *ldDest, // LDAP handle of destination container
  15. IN SCHEMAINFO * pSchemaInfo,
  16. IN LPWSTR pszCommonName, //optional
  17. OUT IUnknown ** ppObject
  18. );
  19. //
  20. // helper functions for the above
  21. //
  22. HRESULT
  23. GetInfoFromSrcObject(
  24. IN LPWSTR pszSrcADsPath,
  25. OUT LPWSTR szLDAPSrcPath,
  26. OUT ADS_LDP ** pldapSrc,
  27. OUT LDAPMessage **pldpSrcMsg,
  28. OUT WCHAR ***pavalues,
  29. OUT DWORD *pnCount
  30. );
  31. HRESULT
  32. CreateDestObjectCopy(
  33. IN LPWSTR pszDestContainer,
  34. IN WCHAR **avalues,
  35. IN DWORD nCount,
  36. IN ADS_LDP *ldapSrc,
  37. IN OUT ADS_LDP **pldDest,
  38. IN LDAPMessage *ldpSrcMsg,
  39. IN OUT SCHEMAINFO **ppSchemaInfo,
  40. IN LPWSTR pszCommonName,
  41. OUT LPWSTR szLDAPDestContainer
  42. );
  43. //
  44. // helper function for the above
  45. //
  46. HRESULT
  47. ValidateObjectClass(
  48. IN WCHAR **avalues,
  49. IN LPWSTR szLDAPContainer,
  50. IN ADS_LDP *ldDest,
  51. IN SCHEMAINFO *pSchemaInfo
  52. );
  53. HRESULT
  54. InstantiateCopiedObject(
  55. IN LPWSTR pszDestContainer,
  56. IN WCHAR ** avalues,
  57. IN DWORD nCount,
  58. IN LPWSTR pszRelativeName,
  59. OUT IUnknown ** ppUnknown
  60. );