home *** CD-ROM | disk | FTP | other *** search
- /*++
-
- Copyright (c) 1999 Microsoft Corporation
-
- Module Name:
-
- jpcommon.h
-
- Abstract:
-
- stuff used by both the build and split engines.
-
- --*/
-
- #ifndef __JPCOMMON_H
- #define __JPCOMMON_H
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
-
- // flags for COMRegistrationInfo.dwFlags.
- #define DLLREG_CONTROL 0x00000001
- #define DLLREG_USERREG 0x00000002
- #define DLLREG_TM_APARTMENT 0x00000004 // these next four flags, APARTMENT, FREE,
- #define DLLREG_TM_FREE 0x00000008 // BOTH, and NEUTRAL really need only 2 bits,
- #define DLLREG_TM_BOTH 0x00000010 // since they're mutually exclusive.
- #define DLLREG_TM_NEUTRAL 0x00000020
-
- #define DLLREG_THREADINGMODEL_FLAGS (DLLREG_TM_APARTMENT | \
- DLLREG_TM_FREE | \
- DLLREG_TM_BOTH | \
- DLLREG_TM_NEUTRAL)
-
- #define DLLREG_PERSISTABLE_FLAGS (DLLREG_CONTROL | \
- DLLREG_USERREG | \
- DLLREG_TM_APARTMENT | \
- DLLREG_TM_FREE | \
- DLLREG_TM_BOTH | \
- DLLREG_TM_NEUTRAL)
-
- // these flags are used internally by the builder and are not persisted
- #define DLLREG_CHECKED_FOR_CONTROL 0x20000000
- #define DLLREG_CHECKED_FOR_USERREG 0x40000000 // we've looked for onCOMRegister
- #define DLLREG_IGNORE 0x80000000 // ignore COM info for this file
-
- // java/COM registration info version
- // we start with 0x80000000 (high bit set) to disambiguate
- // between VJ-style DLLs that have no version, but instead
- // have the class count in the same location.
- #define JCRI_VERSION1 0x80000000
-
-
- // Default resource ID for the COM registration information (CRI) resource.
- // Unless otherwise specified, the CRI resource is looked for within a given
- // PE at this ID (the type is RT_RCDATA).
- #define JEX_DEFAULT_CRI_RESOURCE_ID 1002
-
-
- #include <pshpack4.h>
-
- // one of these structs per java/COM class in image.
- typedef struct
- {
- DWORD cbClassNameOffset; // offset into resource of unicode string.
- DWORD cbProgIDOffset; // 0 means no ProgID, otherwise offset into resource of unicode string.
- DWORD cbDescriptionOffset; // 0 means no description, otherwise offset into resource of unicode string.
- DWORD dwFlags; // DLLREG_* values.
- GUID guidCLSID;
- GUID guidTypelib;
- WORD wVerMajor;
- WORD wVerMinor;
- } COMRegistrationInfo;
-
- // header information for java/COM registration date.
- typedef struct
- {
- DWORD dwVersion; // must be JCRI_VERSION1.
- ULONG dwClasses; // class count.
- COMRegistrationInfo aRegInfo[ 1 ]; // dwClasses occurrances.
- } COMRegistrationInfoHeader;
-
- #include <poppack.h>
-
-
- #ifdef __cplusplus
- }
- #endif
-
- #endif
-