Función OleInitialize (ole2.h)
Inicializa la biblioteca COM en el apartamento actual, identifica el modelo de simultaneidad como un solo subproceso (STA) y habilita la funcionalidad adicional descrita en la sección Comentarios a continuación. Las aplicaciones deben inicializar la biblioteca COM para poder llamar a funciones de biblioteca COM distintas de CoGetMalloc y funciones de asignación de memoria.
Sintaxis
HRESULT OleInitialize(
[in] LPVOID pvReserved
);
Parámetros
[in] pvReserved
Este parámetro está reservado y debe ser NULL.
Valor devuelto
Esta función devuelve S_OK si se ejecuta correctamente. Otros valores posibles incluyen lo siguiente.
Código devuelto | Descripción |
---|---|
|
La biblioteca COM ya está inicializada en este apartamento. |
|
Las versiones de COMPOBJ.DLL y de OLE2.DLL en su equipo son incompatibles entre sí. |
|
Una llamada anterior a CoInitializeEx especificó el modelo de simultaneidad para este apartamento como apartamento multiproceso (MTA). Esto también podría significar que se produjo un cambio de un apartamento de subproceso neutro a un solo apartamento subproceso. |
Comentarios
Las aplicaciones que usan la siguiente funcionalidad deben llamar a OleInitialize antes de llamar a cualquier otra función de la biblioteca COM:
- Portapapeles
- Arrastrar y colocar
- Vinculación e inserción de objetos (OLE)
- Activación local
Una vez establecido el modelo de simultaneidad de un apartamento, no se puede cambiar. Se producirá un error en una llamada a OleInitialize en un apartamento que se inicializó previamente como multiproceso y devolverá RPC_E_CHANGED_MODE.
Debe inicializar la biblioteca COM en un apartamento antes de llamar a cualquiera de las funciones de biblioteca excepto CoGetMalloc, para obtener un puntero al asignador estándar y las funciones de asignación de memoria.
Normalmente, la biblioteca COM se inicializa en un apartamento solo una vez. Las llamadas posteriores se realizarán correctamente, siempre y cuando no intenten cambiar el modelo de simultaneidad del apartamento, pero devolverán S_FALSE. Para cerrar correctamente la biblioteca COM, cada llamada correcta a OleInitialize, incluidas las que devuelven S_FALSE, debe equilibrarse mediante una llamada correspondiente a OleUninitialize.
Dado que no hay ninguna manera de controlar el orden en el que los servidores en proceso se cargan o descargan, no llame a OleInitialize ni OleUninitialize desde la función DllMain .
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 2000 Professional [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows 2000 Server [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | ole2.h |
Library | Ole32.lib |
Archivo DLL | Ole32.dll |
Conjunto de API | ext-ms-win-com-ole32-l1-1-0 (introducido en Windows 8) |