122 lines
4.6 KiB
C
122 lines
4.6 KiB
C
/************************************************************************
|
|
* *
|
|
* sxs.h -- This module defines sxs.dll public exports *
|
|
* *
|
|
* Copyright (c) Microsoft Corp. All rights reserved. *
|
|
* *
|
|
************************************************************************/
|
|
#ifndef _SXS_PUBLIC_H_
|
|
#define _SXS_PUBLIC_H_
|
|
|
|
#if _MSC_VER > 1000
|
|
#pragma once
|
|
#endif
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
|
|
typedef struct _SXS_CLR_SURROGATE_INFORMATION {
|
|
DWORD cbSize;
|
|
DWORD dwFlags;
|
|
GUID SurrogateIdent;
|
|
PCWSTR pcwszSurrogateType;
|
|
PCWSTR pcwszImplementingAssembly;
|
|
PCWSTR pcwszRuntimeVersion;
|
|
} SXS_CLR_SURROGATE_INFORMATION, *PSXS_CLR_SURROGATE_INFORMATION;
|
|
typedef const SXS_CLR_SURROGATE_INFORMATION *PCSXS_CLR_SURROGATE_INFORMATION;
|
|
|
|
typedef struct _SXS_CLR_CLASS_INFORMATION {
|
|
DWORD dwSize;
|
|
DWORD dwFlags;
|
|
ULONG ulThreadingModel;
|
|
ULONG ulType;
|
|
GUID ReferenceClsid;
|
|
PCWSTR pcwszProgId;
|
|
PCWSTR pcwszImplementingAssembly;
|
|
PCWSTR pcwszTypeName;
|
|
PCWSTR pcwszRuntimeVersion;
|
|
} SXS_CLR_CLASS_INFORMATION, *PSXS_CLR_CLASS_INFORMATION;
|
|
typedef const SXS_CLR_CLASS_INFORMATION *PCSXS_CLR_CLASS_INFORMATION;
|
|
|
|
#define SXS_FIND_CLR_SURROGATE_USE_ACTCTX (0x00000001)
|
|
#define SXS_FIND_CLR_SURROGATE_GET_IDENTITY (0x00000002)
|
|
#define SXS_FIND_CLR_SURROGATE_GET_RUNTIME_VERSION (0x00000004)
|
|
#define SXS_FIND_CLR_SURROGATE_GET_TYPE_NAME (0x00000008)
|
|
#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)
|
|
|
|
#define SXS_FIND_CLR_SURROGATE_INFO ("SxsFindClrSurrogateInformation")
|
|
|
|
typedef BOOL (WINAPI* PFN_SXS_FIND_CLR_SURROGATE_INFO)(
|
|
IN DWORD dwFlags,
|
|
IN LPGUID lpGuidToFind,
|
|
IN HANDLE hActivationContext,
|
|
IN OUT PVOID pvDataBuffer,
|
|
IN SIZE_T cbDataBuffer,
|
|
IN OUT PSIZE_T pcbDataBufferWrittenOrRequired
|
|
);
|
|
|
|
// The 'pvSearchData' parameter is really a progid to look up
|
|
#define SXS_FIND_CLR_CLASS_SEARCH_PROGID (0x00000001)
|
|
// The 'pvSearchData' is an LPGUID to look up
|
|
#define SXS_FIND_CLR_CLASS_SEARCH_GUID (0x00000002)
|
|
// Activate the given actctx before looking up information in it
|
|
#define SXS_FIND_CLR_CLASS_ACTIVATE_ACTCTX (0x00000004)
|
|
|
|
#define SXS_FIND_CLR_CLASS_GET_PROGID (0x00000008)
|
|
#define SXS_FIND_CLR_CLASS_GET_IDENTITY (0x00000010)
|
|
#define SXS_FIND_CLR_CLASS_GET_TYPE_NAME (0x00000020)
|
|
#define SXS_FIND_CLR_CLASS_GET_RUNTIME_VERSION (0x00000040)
|
|
#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)
|
|
|
|
#define SXS_FIND_CLR_CLASS_INFO ("SxsFindClrClassInformation")
|
|
|
|
typedef BOOL (WINAPI* PFN_SXS_FIND_CLR_CLASS_INFO)(
|
|
IN DWORD dwFlags,
|
|
IN PVOID pvSearchData,
|
|
IN HANDLE hActivationContext,
|
|
IN OUT PVOID pvDataBuffer,
|
|
IN SIZE_T cbDataBuffer,
|
|
OUT PSIZE_T pcbDataBufferWrittenOrRequired
|
|
);
|
|
|
|
|
|
#define SXS_GUID_INFORMATION_CLR_FLAG_IS_SURROGATE (0x00000001)
|
|
#define SXS_GUID_INFORMATION_CLR_FLAG_IS_CLASS (0x00000002)
|
|
|
|
typedef struct _SXS_GUID_INFORMATION_CLR
|
|
{
|
|
DWORD cbSize;
|
|
DWORD dwFlags;
|
|
PCWSTR pcwszRuntimeVersion;
|
|
PCWSTR pcwszTypeName;
|
|
PCWSTR pcwszAssemblyIdentity;
|
|
} SXS_GUID_INFORMATION_CLR, *PSXS_GUID_INFORMATION_CLR;
|
|
typedef const SXS_GUID_INFORMATION_CLR *PCSXS_GUID_INFORMATION_CLR;
|
|
|
|
#define SXS_LOOKUP_CLR_GUID_USE_ACTCTX (0x00000001)
|
|
#define SXS_LOOKUP_CLR_GUID_FIND_SURROGATE (0x00010000)
|
|
#define SXS_LOOKUP_CLR_GUID_FIND_CLR_CLASS (0x00020000)
|
|
#define SXS_LOOKUP_CLR_GUID_FIND_ANY (SXS_LOOKUP_CLR_GUID_FIND_CLR_CLASS | SXS_LOOKUP_CLR_GUID_FIND_SURROGATE)
|
|
|
|
#define SXS_LOOKUP_CLR_GUID ("SxsLookupClrGuid")
|
|
|
|
typedef BOOL (WINAPI* PFN_SXS_LOOKUP_CLR_GUID)(
|
|
IN DWORD dwFlags,
|
|
IN LPGUID pClsid,
|
|
IN HANDLE hActCtx,
|
|
IN OUT PVOID pvOutputBuffer,
|
|
IN SIZE_T cbOutputBuffer,
|
|
OUT PSIZE_T pcbOutputBuffer
|
|
);
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
} /* extern "C" */
|
|
#endif
|
|
|
|
|
|
#endif
|