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.

121 lines
4.6 KiB

  1. /************************************************************************
  2. * *
  3. * sxs.h -- This module defines sxs.dll public exports *
  4. * *
  5. * Copyright (c) Microsoft Corp. All rights reserved. *
  6. * *
  7. ************************************************************************/
  8. #ifndef _SXS_PUBLIC_H_
  9. #define _SXS_PUBLIC_H_
  10. #if _MSC_VER > 1000
  11. #pragma once
  12. #endif
  13. #ifdef __cplusplus
  14. extern "C" {
  15. #endif
  16. typedef struct _SXS_CLR_SURROGATE_INFORMATION {
  17. DWORD cbSize;
  18. DWORD dwFlags;
  19. GUID SurrogateIdent;
  20. PCWSTR pcwszSurrogateType;
  21. PCWSTR pcwszImplementingAssembly;
  22. PCWSTR pcwszRuntimeVersion;
  23. } SXS_CLR_SURROGATE_INFORMATION, *PSXS_CLR_SURROGATE_INFORMATION;
  24. typedef const SXS_CLR_SURROGATE_INFORMATION *PCSXS_CLR_SURROGATE_INFORMATION;
  25. typedef struct _SXS_CLR_CLASS_INFORMATION {
  26. DWORD dwSize;
  27. DWORD dwFlags;
  28. ULONG ulThreadingModel;
  29. ULONG ulType;
  30. GUID ReferenceClsid;
  31. PCWSTR pcwszProgId;
  32. PCWSTR pcwszImplementingAssembly;
  33. PCWSTR pcwszTypeName;
  34. PCWSTR pcwszRuntimeVersion;
  35. } SXS_CLR_CLASS_INFORMATION, *PSXS_CLR_CLASS_INFORMATION;
  36. typedef const SXS_CLR_CLASS_INFORMATION *PCSXS_CLR_CLASS_INFORMATION;
  37. #define SXS_FIND_CLR_SURROGATE_USE_ACTCTX (0x00000001)
  38. #define SXS_FIND_CLR_SURROGATE_GET_IDENTITY (0x00000002)
  39. #define SXS_FIND_CLR_SURROGATE_GET_RUNTIME_VERSION (0x00000004)
  40. #define SXS_FIND_CLR_SURROGATE_GET_TYPE_NAME (0x00000008)
  41. #define SXS_FIND_CLR_SURROGATE_GET_ALL (SXS_FIND_CLR_SURROGATE_GET_IDENTITY | SXS_FIND_CLR_SURROGATE_GET_RUNTIME_VERSION | SXS_FIND_CLR_SURROGATE_GET_TYPE_NAME)
  42. #define SXS_FIND_CLR_SURROGATE_INFO ("SxsFindClrSurrogateInformation")
  43. typedef BOOL (WINAPI* PFN_SXS_FIND_CLR_SURROGATE_INFO)(
  44. IN DWORD dwFlags,
  45. IN LPGUID lpGuidToFind,
  46. IN HANDLE hActivationContext,
  47. IN OUT PVOID pvDataBuffer,
  48. IN SIZE_T cbDataBuffer,
  49. IN OUT PSIZE_T pcbDataBufferWrittenOrRequired
  50. );
  51. // The 'pvSearchData' parameter is really a progid to look up
  52. #define SXS_FIND_CLR_CLASS_SEARCH_PROGID (0x00000001)
  53. // The 'pvSearchData' is an LPGUID to look up
  54. #define SXS_FIND_CLR_CLASS_SEARCH_GUID (0x00000002)
  55. // Activate the given actctx before looking up information in it
  56. #define SXS_FIND_CLR_CLASS_ACTIVATE_ACTCTX (0x00000004)
  57. #define SXS_FIND_CLR_CLASS_GET_PROGID (0x00000008)
  58. #define SXS_FIND_CLR_CLASS_GET_IDENTITY (0x00000010)
  59. #define SXS_FIND_CLR_CLASS_GET_TYPE_NAME (0x00000020)
  60. #define SXS_FIND_CLR_CLASS_GET_RUNTIME_VERSION (0x00000040)
  61. #define SXS_FIND_CLR_CLASS_GET_ALL (SXS_FIND_CLR_CLASS_GET_PROGID | SXS_FIND_CLR_CLASS_GET_IDENTITY | SXS_FIND_CLR_CLASS_GET_TYPE_NAME | SXS_FIND_CLR_CLASS_GET_RUNTIME_VERSION)
  62. #define SXS_FIND_CLR_CLASS_INFO ("SxsFindClrClassInformation")
  63. typedef BOOL (WINAPI* PFN_SXS_FIND_CLR_CLASS_INFO)(
  64. IN DWORD dwFlags,
  65. IN PVOID pvSearchData,
  66. IN HANDLE hActivationContext,
  67. IN OUT PVOID pvDataBuffer,
  68. IN SIZE_T cbDataBuffer,
  69. OUT PSIZE_T pcbDataBufferWrittenOrRequired
  70. );
  71. #define SXS_GUID_INFORMATION_CLR_FLAG_IS_SURROGATE (0x00000001)
  72. #define SXS_GUID_INFORMATION_CLR_FLAG_IS_CLASS (0x00000002)
  73. typedef struct _SXS_GUID_INFORMATION_CLR
  74. {
  75. DWORD cbSize;
  76. DWORD dwFlags;
  77. PCWSTR pcwszRuntimeVersion;
  78. PCWSTR pcwszTypeName;
  79. PCWSTR pcwszAssemblyIdentity;
  80. } SXS_GUID_INFORMATION_CLR, *PSXS_GUID_INFORMATION_CLR;
  81. typedef const SXS_GUID_INFORMATION_CLR *PCSXS_GUID_INFORMATION_CLR;
  82. #define SXS_LOOKUP_CLR_GUID_USE_ACTCTX (0x00000001)
  83. #define SXS_LOOKUP_CLR_GUID_FIND_SURROGATE (0x00010000)
  84. #define SXS_LOOKUP_CLR_GUID_FIND_CLR_CLASS (0x00020000)
  85. #define SXS_LOOKUP_CLR_GUID_FIND_ANY (SXS_LOOKUP_CLR_GUID_FIND_CLR_CLASS | SXS_LOOKUP_CLR_GUID_FIND_SURROGATE)
  86. #define SXS_LOOKUP_CLR_GUID ("SxsLookupClrGuid")
  87. typedef BOOL (WINAPI* PFN_SXS_LOOKUP_CLR_GUID)(
  88. IN DWORD dwFlags,
  89. IN LPGUID pClsid,
  90. IN HANDLE hActCtx,
  91. IN OUT PVOID pvOutputBuffer,
  92. IN SIZE_T cbOutputBuffer,
  93. OUT PSIZE_T pcbOutputBuffer
  94. );
  95. #ifdef __cplusplus
  96. } /* extern "C" */
  97. #endif
  98. #endif