4.2 Creacion del cliente


4.2 Creación del cliente


COM
El cliente debe realizar las siguientes tareas:
Iniciar la librería COM
Obtener la interfaz
Manipular el objeto a través de su interfaz
Liberar las interfaces
Finalizar la librería COM
Para iniciar la librería COM hay que llamar al método del API COM CoInitialize:
            hr = CoInitialize(NULL);
            if ( SUCCEEDED(hr) )
            {
                        ...
            }
  • El método CoInitialize inicializa la librería en el thread de ejecución desde el que se invoque. Es necesario llamar a CoInitialize desde cada thread de la aplicación que quiera acceder a objetos COM.

OBTENER LA INTERFAZ
Para obtener la interfaz inicial llamamos al método CoCreateInstance, este creará una nueva instancia de un objeto COM y nos devolverá un puntero a su interfaz.
            IUnknown *pIUnknown = NULL;
            hr = CoCreateInstance(CLSID_UserInfo, NULL,
                                   CLSCTX_INPROC_SERVER, IID_IUnknown,
                                   (LPVOID *)&pIUnknown);
            if (SUCCEEDED(hr))
            {....}

A través del puntero a IUnknow obtener el puntero a la interfaz IUserInfo
                        hr = pIUnknown->QueryInterface(IID-IUserInfo,
                                   (LPVOID *)&pIUserInfo);
                                   if (SUCCEEDED(hr))
                                               {\\manipulación del objeto}



LIBERAR LAS INTERFACES
para liberar las interfaces hay que llamar al método Release, si el objeto COM no tiene más interfaces referenciadas se borrara automaticamente:

            pIUserInfo->Release();
            pIUnknown->Release();

FINALIZAR LAS LIBRERIAS
La librería COM se finaliza a través del método CoUninitialize, una vez llamado a este método no se podrá seguir llamando a funciones de la librería COM ni manipulando objetos COM.

DCOM
En el menú Archivo , seleccione la opción Nuevo proyecto, seleccione EXE estándar y, a continuación, haga clic en Aceptar. De forma predeterminada, se crea Form1.
En el menú Proyecto, haga clic en la opción Propiedades del proyecto y, a continuación, seleccione la ficha General.
En el campo Nombre de proyecto, escriba DCOMDemo_Cli.
En el campo Descripción del proyecto, escriba DCOMDemo_Cli Proyecto - Cliente.
En el menú Proyecto, haga clic en Referencias. En la lista de referencias disponibles, seleccione DCOMDemo_Svr - Servidor.
Coloque un botón de comando en Form1 y cambie el título del botón por Ejecutar.
Coloque el código siguiente en el evento de clic del botón
En el menú Archivo, seleccione Guardar como y, a continuación, guarde el proyecto en la carpeta c:\DCOMDemo\Client del cliente.
Presione la tecla F5 para ejecutar el cliente en el IDE y probarlo.
En el menú Archivo, seleccione Generar DCOMDemo_Cli para compilar el cliente y, a continuación, cierre Visual Basic.
 Resultado de imagen para COM DCOM

No hay comentarios:

Publicar un comentario