In the grand tradition of "sin in haste, repent at leisure," thousands of Windows applications have been built that don't expose an object model. So you can't instantiate instances and control their behavior from within a script file or anoth... 続きを読む
Jeans & Development コンピューターのことなどを綴った日記、メモと Bookmark 集 (旧:目から鱗 w/SQLite) .NET を用いればregasm.exeでCOMサーバを簡単に登録することが出来るのだが、やはり.NETは重い。加えて、.NET Framework がインストールされていないコ... 続きを読む
Download demo project - 35 Kb Download source - 68 Kb Introduction Windows applications that do not export any program interface may be, however, converted to an automation server. The term "Automation" in this context means that clients runn... 続きを読む
Sub-sections: Some COM definitions. COM IDs. The registry: \CLSID\{GUID}. \AppID\{GUID}. \Interface\{GUID}. Some COM definitions COM InterfaceWhen we are talking about Interface, we are as well talking about the separation between interface d... 続きを読む
ActiveXの証明書の問題に打ちのめされWalkmanの再生履歴をアップするWebアプリの開発を放置して数ヶ月。ActiveXをあきらめて、普通のCOMを使いPackageForTheWebか何かでインストールさせようという方向に転換。ActiveXのプロジェクトを普通のCOMに書き直しまし... 続きを読む
Tlbinf32.exe is a file that contains the HTML Help file for the TypeLibInformation object (TLI), which is implemented in the Tlbinf32.dll file shipped in the Visual Studio 6.0 and Visual Basic 6.0 CDs. The TLI object allows you to programmati... 続きを読む
SUMMARY The built-in Object Browser in Visual Basic, like other component browsers such as OLE View and XRay, is one of the more useful tools. But an even better tool would be customizable. You can build your own type library browser using th... 続きを読む
in the Platform SDK. If the type library is already loaded, LoadTypeLib increments the type library's reference count and returns a pointer to the type library. For backward compatibility, LoadTypeLib will register the type library if the pat... 続きを読む
This section presents information about how to create interface definition language (IDL) files and application configuration files (ACF) for MIDL, including reference pages for IDL and ACF attributes. There is also information about how to i... 続きを読む
今更ながらCOMインターロップちょっとした、でもC++とかで書くのは面倒だしVBはあり得ないようなプログラムをC#で書いたのは良いが、それをVB6から使いたいという要望を受ける。 そういうときこそのCOM Interopですよ、とやったこたないけど(逆は普通にあるが... 続きを読む
MSDN マガジン > ホーム > 過去のマガジン > ラップする: 既存の Visual Basic 6.0 アプリケーションからの .NET Fr... Scott Swigartこの記事で取り上げる話題:既存コードのアップグレードに関する考慮事項Visual Studio でのラッパーのセットアップネットワ... 続きを読む
私もこれまで色々なWindowsアプリケーションを作ってきましたが、それらの多くはデスクトップ上で目的の動作だけを実行する単純なアプリケーションだったりします。 最近のテキストエディタ等では、マクロ等と呼ばれる拡張言語を使用してエディタ本来の動作では... 続きを読む
Component Object Model (COM) is a binary-interface standard for software componentry introduced by Microsoft in 1993. It is used to enable interprocess communication and dynamic object creation in a large range of programming languages. The t... 続きを読む
COMの基礎 COMとは? COM(コンポーネント・オブジェクト・モデル)という言葉を聞いたことがあるでしょうか? COMとは、プログラムをソフトウェアコンポーネント(独立した情報処理を行なう構成要素のこと。単にコンポーネントとも言う。)で構成する、オブジ... 続きを読む
"Type Library (TLB) Data Dumper (without WinAPI) version 1.0" conforms to "The Unofficial TypeLib Data Format Specification". The original version is now outdated and obsolete and should be ignored (and preferably deleted from the forums). Th... 続きを読む
The Unofficial TypeLib Data Format Specification by TheirCorp This version details the majority of the "MSFT" sub-format Windows uses to connect COM objects. The accuracy of the information has been verified by writing a companion program tha... 続きを読む
Perhaps some might be helped by Jeff Moser's COM overview in this 2008 blog post: http://www.moserware.com/2008/01/finally-understanding-com-after.html. 続きを読む
「Go言語?もうピーク過ぎたよね?」とか言ってる人達こんばんわ。 Go言語、終わってません。いまdev-listではすごい量のメールが飛び交っていて、毎日かなりの量の議論が行われています。 僕としては、ようやく始まったと言えます。もうすぐWindowsでcgoも実行... 続きを読む
December 2010 (1) November 2010 (8) October 2010 (11) September 2010 (8) July 2010 (7) June 2010 (7) May 2010 (10) April 2010 (9) March 2010 (10) February 2010 (8) January 2010 (8) December 2009 (5) November 2009 (9) October 2009 (9) Septembe... 続きを読む
Download source files - 17.6 Kb Contents A COM object and its VTable A GUID QueryInterface(), AddRef(), and Release() An IClassFactory object Packaging into a DLL Our C++/C include file The Definition (DEF) file Install the DLL, and register ... 続きを読む
The Component Object Model (COM) is Microsoft's basic framework for developing and deploying object-oriented software that allows disparate applications and components to work together across a variety of languages, platforms and host machine... 続きを読む
Let me begin my inaugural column for CodeGuru by stating that I'm on a crusade-a crusade to stamp out bugs related to COM concurrency. COM features a concurrency mechanism that's capable of intercepting and serializing concurrent method calls... 続きを読む
The IDispatch interface was defined so that a single, standard interface2 could be used by all components wanting to expose their functionality to interested clients. This interface, and the marshaling code built for it, are now known as the ... 続きを読む
Automation, the popular name for the IDispatch interface, was originally designed by the Visual Basic group at Microsoft. The Automation facility allows applications to expose their functionality for use by other programs. For example, full-f... 続きを読む
As you've seen, apartments are a far-reaching and important concept in COM+. Understanding how apartments work and how code running in different apartments interacts is important for every component developer. With single-threaded and multith... 続きを読む
While components written in C++ have the greatest flexibility and control over the apartment models in COM+, high-level programming languages such as Microsoft Visual Basic and Java have also been extended to support the evolving COM+ threadi... 続きを読む
ATL can provide you with run-time feedback in the output window that displays the results of QueryInterface, AddRef, and Release on any interface in your server project. These features are not enabled by default, even in debug builds, and the... 続きを読む
COMにおけるクライアントとサーバー間の通信では、当事者の知らないところで数多くの複雑な処理が行われています。 たとえば、COMのクライアントはサーバーがDLLとして実装されていようと、 EXEとして実装されていようとほぼ同じコードを記述できますが、 これ... 続きを読む
A process is a collection of virtual memory space, code, data, and system resources. A thread is code that is to be serially executed within a process. A processor executes threads, not processes, so each application has at least one process,... 続きを読む
COM provides a way for any apartment in a process to get access to an interface implemented on an object in any other apartment in the process. This is done through the IGlobalInterfaceTable interface. This interface has three methods, which ... 続きを読む
Names of thread issues are used quite inconsistent in this documentation. One time it's "free-threaded", next time it's "multi-threaded". One time it's "single-threaded", next time it's "apartment-threaded"... Very confusing! And finally, in ... 続きを読む
A client or server that supports both single-threaded and multithreaded apartments will have one multithreaded apartment, containing all threads initialized as free-threaded, and one or more single-threaded apartments. Interface pointers must... 続きを読む
In a multithreaded apartment model, all the threads in the process that have been initialized as free-threaded reside in a single apartment. Therefore, there is no need to marshal between threads. The threads need not retrieve and dispatch me... 続きを読む
Using single-threaded apartments (the apartment model process) offers a message-based paradigm for dealing with multiple objects running concurrently. It enables you to write more efficient code by allowing a thread, while it waits for some t... 続きを読む
Choosing the threading model for an object depends on the object's function. An object that does extensive I/O might support free-threading to provide maximum response to clients by allowing interface calls during I/O latency. On the other ha... 続きを読む
A process is a collection of virtual memory space, code, data, and system resources. A thread is code that is to be serially executed within a process. A processor executes threads, not processes, so each application has at least one process,... 続きを読む
COM オブジェクトは、1 つのプロセスの複数のスレッド内で使用できます。"シングルスレッド アパートメント" (STA) および "マルチスレッド アパートメント" (MTA) という用語は、オブジェクトとスレッドとの関係、オブジェクト間の同時実行関係、メソッド呼び... 続きを読む
Click here for a larger image. Environment: VC++ 6.0, VB, Windows 2000 Introduction If we compile a VB project in project compatibility and no compatibility mode, the VB environment generates GUIDs based on our modification. A typical VB COM ... 続きを読む
. Environment: VC6+SP5 or VC7 (including SPY++, Depends, DataObject Viewer and OLE Viewer), MS Platform Core SDK, MSN Messenger 6.0, Resource Hacker, Process Explorer, and Process Spy. Win 2K/XP/2003 ONLY (local administrative member identity... 続きを読む
Environment: VC6 SP5, Visual C++ .Net, Windows 2000 Introduction This article attempts to illustrate the functions of the COM Single Thread Apartment (STA), Multithread Apartment (MTA) and ATL Auto-thread Module with a testing client/server a... 続きを読む
Home >> Visual C++ / C++ >> COM-based Technologies >> ActiveX Programming >> Apartments & Threading Understanding COM Apartments, Part I Rating: Let me begin my inaugural column for CodeGuru by stating that I'm on a crusade-a crusade to stamp... 続きを読む
表紙へ戻る 目次へ戻る [前頁] [次頁] このコーナー(C言語でCOMクライアント)の文書は、Internet Explorer 5 で表示を検証しています。 [免責事項] このドキュメントおよび添付プログラムは、できるだけ精度が高くなるよう努力はしておりますが、 記述... 続きを読む
CreateObject 関数は、引数として渡される文字列が、登録済み COM オブジェクトの ProgID であると想定します。この関数はコンポーネントのインスタンスを作成して、その IDispatch オートメーション インターフェイスを返します。IDispatch インターフェイスの... 続きを読む
まず、VisualBASIC6.0 のランタイムを Vector などからダウンロードしてインストールします。 (その場合、MsWinSck.ocx,WinSkJp.DLL のあるランタイムにしてください。{例えば、VB6ランタイム集【みやシリーズ起動用】}) ダウンロードしたファイルを解凍ししま... 続きを読む
In order to build an ATL project (EXE) successfully I'm finding I have to start VS2010 RC with 'Run as administrator'. This is needed to perform the post build '/RegServer' step. If I run normally I get the error -2147024891 which is 'Acces... 続きを読む
The Journals of Captain COM is a sean's happy programming place exclusive column. These articles focus on implementation of COM servers and clients in raw C++. Expect lots of good tips and tricks for getting the most out of DevStudio and t... 続きを読む
COMの列挙再び WSH, WMI, JScript, JavaScript, COM | 04:38 | 幾つか方法がある。 WMIのWQLを使う var locator = new ActiveXObject("WbemScripting.SWbemLocator"); var service = locator.ConnectServer(null, "root\\cimv2"); var rs = service.execQuery("... 続きを読む
Eric's Complete Guide To Type Signatures Of Scriptable Object Models Moving away from the problems of junior high school… Here's a question I've gotten many times over the years: how do you design an object so that it can be easily called fr... 続きを読む
Tuesday, August 21, 2007 JScript arrays and COM objects, part 3 I have promised in my previous post that I will present also how to deal with JScript arrays in C++ code with ATL. Below, there is a code of a function, I have come up with, in C... 続きを読む
と、言うより僕のプログラミング言語の学習の履歴といったところです でも、 HomePage 製作以前の QuickBASIC,Fortran77 は、載せていませんが.... Winny 作者逮捕から、ソフトウェア作成の自由を訴えて!?、部分的に閉鎖(というよりメンテ放棄)をしていましたが... 続きを読む
COM...正直言ってプログラミングではかかわらないほうが良い。それでも尚COMをやりたいと言うならば、このページが助けになる場面もあろう。何故なら、このページに書かれていることは私が実際にAnpsockやLHAコントロールを作成したときに大いに頭を悩ませた事... 続きを読む
Download source files - 14.3 Kb What is it and Why is it! This is basically a very simple DLL COM server implemented totally in C++ with no support from ATL or MFC and is very easy to write. Writing a COM object this way gave me an insight in... 続きを読む
VB.NET2002、VB.NET2003、VB2005からCOMオブジェクト(ActiveX)にアクセスしたり、逆にVB6, VBA, VBScriptから.NET Frameworkアセンブリにアクセスする方法を説明します。VB2005 Express Editionでもこれらの機能を利用することができます。 概要 ・VB.NET2002、... 続きを読む
Active Server Pagesから使えるメール送信、 正規表現コンポーネント。ASP、COMプログラミング、Visual Basicなどの情報。WHAT'S NEW 2003/02/11BASP21 2,3,2,11バージョン Update! 久々、フリー版BASP21更新。ダウンロードは、こちらをどうぞ。 花粉が飛ぶ前に... 続きを読む
BASP21 Pro ソケット オブジェクトの.NETアセンブリファイル。VB.NET やC# などからソケット オブジェクトを呼出すときに 使います。.NET環境でオブジェクトを使用しない場合は、不要です。 任意のフォルダにBSocket.dllをコピーして regsvr32 コマンドで イン... 続きを読む
添付ファイルの指定例: files="c:\temp\aa.txt|abc.txt" ' 別名指定 files="c:\temp\aa.txt||application/octet-stream" ' Content-type 指定 files="c:\temp\aa.txt|abc.txt|application/octet-stream" ' 別名+Content-type 指定 例: svname = "c:\mailqueue... 続きを読む