Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Marcas de tipo.
Syntax
typedef enum tagTYPEFLAGS {
TYPEFLAG_FAPPOBJECT = 0x1,
TYPEFLAG_FCANCREATE = 0x2,
TYPEFLAG_FLICENSED = 0x4,
TYPEFLAG_FPREDECLID = 0x8,
TYPEFLAG_FHIDDEN = 0x10,
TYPEFLAG_FCONTROL = 0x20,
TYPEFLAG_FDUAL = 0x40,
TYPEFLAG_FNONEXTENSIBLE = 0x80,
TYPEFLAG_FOLEAUTOMATION = 0x100,
TYPEFLAG_FRESTRICTED = 0x200,
TYPEFLAG_FAGGREGATABLE = 0x400,
TYPEFLAG_FREPLACEABLE = 0x800,
TYPEFLAG_FDISPATCHABLE = 0x1000,
TYPEFLAG_FREVERSEBIND = 0x2000,
TYPEFLAG_FPROXY = 0x4000
} TYPEFLAGS;
Constantes
TYPEFLAG_FAPPOBJECTValor: 0x1 Descripción de tipo que describe un objeto Application. |
TYPEFLAG_FCANCREATEValor: 0x2 Las instancias del tipo se pueden crear mediante ITypeInfo::CreateInstance. |
TYPEFLAG_FLICENSEDValor: 0x4 El tipo tiene licencia. |
TYPEFLAG_FPREDECLIDValor: 0x8 El tipo está predefinido. La aplicación cliente debe crear automáticamente una única instancia del objeto que tenga este atributo. El nombre de la variable que apunta al objeto es el mismo que el nombre de la clase del objeto. |
TYPEFLAG_FHIDDENValor: 0x10 El tipo no debe mostrarse a los exploradores. |
TYPEFLAG_FCONTROLValor: 0x20 El tipo es un control a partir del cual se derivarán otros tipos, y no debe mostrarse a los usuarios. |
TYPEFLAG_FDUALValor: 0x40 La interfaz proporciona enlaces IDispatch y VTBL. |
TYPEFLAG_FNONEXTENSIBLEValor: 0x80 La interfaz no puede agregar miembros en tiempo de ejecución. |
TYPEFLAG_FOLEAUTOMATIONValor: 0x100 Los tipos utilizados en la interfaz son totalmente compatibles con la automatización, incluida la compatibilidad con el enlace VTBL. Establecer dual en una interfaz establece esta marca además de TYPEFLAG_FDUAL. No se permite en interfaces Dispinterface. |
TYPEFLAG_FRESTRICTEDValor: 0x200 No se debe permitir el acceso desde lenguajes de macros. El marcador está destinado a tipos en el nivel del sistema o a tipos que los exploradores de tipos no deben mostrar. |
TYPEFLAG_FAGGREGATABLEValor: 0x400 La clase admite agregación. |
TYPEFLAG_FREPLACEABLEValor: 0x800 El tipo se puede reemplazar. |
TYPEFLAG_FDISPATCHABLEValor: 0x1000 Indica que la interfaz se deriva de IDispatch, ya sea directa o indirectamente. Esta marca se calcula. No hay ningún lenguaje de descripción de objeto para la marca. |
TYPEFLAG_FREVERSEBINDValor: 0x2000 El tipo tiene enlace inverso. |
TYPEFLAG_FPROXYValor: 0x4000 Las interfaces se pueden marcar con esta marca para indicar que usarán una biblioteca de vínculos dinámicos proxy/código auxiliar. Esta marca especifica que el proxy de typelib no se debe anular el registro cuando la biblioteca de tipos no está registrada. |
Comentarios
TYPEFLAG_FAPPOBJECT se puede usar en descripciones de tipos con TypeKind = TKIND_COCLASS e indica que la descripción del tipo especifica un objeto Application.
Los miembros del objeto Application son accesibles globalmente. El método Bind de la instancia de ITypeComp asociada a la biblioteca enlaza a los miembros de un objeto Application, igual que para las descripciones de tipos que tienen TypeKind = TKIND_MODULE.
La descripción del tipo define implícitamente una variable global con el mismo nombre y tipo descrito por la descripción del tipo. Esta variable también es accesible globalmente. Cuando se pasa Bind el nombre de un objeto Application, se devuelve un VARDESC, que describe la variable implícita. El identificador de la variable creada implícitamente siempre se ID_DEFAULTINST.
Se llama a la función ITypeInfo::CreateInstance de una descripción del tipo de objeto Application y, a continuación, usa GetActiveObject para recuperar el objeto Application. Si Se produce un error en GetActiveObject porque la aplicación no se está ejecutando, CreateInstance llama a CoCreateInstance, que debería iniciar la aplicación.
Cuando se establece TYPEFLAG_FCANCREATE, CreateInstance puede crear una instancia de este tipo. Esto solo se aplica a las clases de objeto de componente para las que se ha especificado un identificador único global (GUID).
Requisitos
| Requisito | Valor |
|---|---|
| Header | oaidl.h |