midlとは?初心者がまず知るべき基本と使い方ガイド共起語・同意語・対義語も併せて解説!

  • このエントリーをはてなブックマークに追加
midlとは?初心者がまず知るべき基本と使い方ガイド共起語・同意語・対義語も併せて解説!
この記事を書いた人

高岡智則

年齢:33歳 性別:男性 職業:Webディレクター(兼ライティング・SNS運用担当) 居住地:東京都杉並区・永福町の1LDKマンション 出身地:神奈川県川崎市 身長:176cm 体系:細身〜普通(最近ちょっとお腹が気になる) 血液型:A型 誕生日:1992年11月20日 最終学歴:明治大学・情報コミュニケーション学部卒 通勤:京王井の頭線で渋谷まで(通勤20分) 家族構成:一人暮らし、実家には両親と2歳下の妹 恋愛事情:独身。彼女は2年いない(本人は「忙しいだけ」と言い張る)


midlとは?

このページでは midl について、初心者にもわかるようにやさしく解説します。実は MIDL という大文字の略語で使われることが多く、 Microsoft の Interface Definition Language を指します。ここでは lowercase の midl が出てくる場面と、どう使われるのかを順番に紹介します。

midl・とは何か

midl は多くの場合、Windows の開発で使われる MIDL の話題として登場します。MIDL は an interface の定義言語であり、別々の言語やプロセス間でやり取りする機能の「約束事」を文書化する道具です。つまり、どんな機能を公開するか、どのデータを送るか、どんな処理を受けるかを、言語に依存しない形で記述します。

どうして MIDL が必要なのか

ソフトウェアは一般に別々の部品でできています。ある部品が別の部品に指示を出して動くとき、相手がどんなデータをどう受け取るかを前もって決めておく必要があります。これを可能にするのが MIDL です。これにより「A が B にこのデータを送るとき、こういう形で受け取る」という約束を、言語の壁を越えて作ることができます。

実際の使い方の流れ

実務では、まず .idl というファイルに インターフェースの定義データ型手続き の内容を記述します。その後、MIDL コンパイラ を実行して、対応する言語向けのヘッダファイルやスタブ、プロキシなどのコードを自動で生成します。生成されたファイルを自分のプログラムに組み込み、相手側の部品と通信する準備をします。

簡単なイメージで分かる例の説明

例えば、IExample というインターフェースを考え、DoSomething という機能が値を入力として受け取り、結果として別の値を返すといった“約束”を定義します。実際の IDL ではこのような記述を行い、それを基に C++ などで動くコードを作るのが MIDL の流れです。初心者向けには、まず「インターフェースとは何か」「データはどんな形で送られるのか」を意識するところから始めましょう。

学習のコツとヒント

・まずインターフェースの考え方を理解すること。データ型ポインタ参照渡し など、基本用語を押さえましょう。

・MIDL は Web の技術とは別の分野です。主に Windows のアプリケーションやサービス同士の内部通信で使われます。

・実際に手を動かすと理解が進みます。最初は「動くコードを作ること」よりも「どんな情報をやり取りするか」を設計することを意識してください。

表で見るポイント

項目説明
目的言語やプロセスの壁を越えて通信の仕様を定義する
主な場面Windows API、COM、RPC など
出力物ヘッダやスタブといったコードの自動生成ファイル

要点のまとめ

midl は初心者にとって最初は難しく感じるかもしれませんが、基本を押さえると「部品同士がどうやって話すか」を理解する強力な道具になります。今の段階では、言葉の意味と使われる場面を知ることが第一歩です。


midlの同意語

MIDL
Microsoft Interface Definition Languageの略。Microsoftが提供する、RPC/COMなどのインターフェイスを定義するための専用言語。
Microsoft Interface Definition Language
Microsoftが提供する、インターフェイスを定義する言語の正式名称。MIDLの完全形。
Interface Definition Language (IDL)
インターフェイスを定義するための一般的な言語群の名称。MIDLはその一つの実装例。
中間
位置・状態が中間にあることを表す日本語。英語の middle や mid に対応する概念。
中間部
全体の中央寄りの部分を指す語。例:データの中間部にある要素。
中央
全体の中心に位置する点・領域を指す語。中間とほぼ同義。
真ん中
物の中心点・最も中心の部分を指す語。日常会話でよく使われる表現。
中程
物事の中央寄りの時期や場所を指す語。
中盤
物語・ゲーム・工程などの途中の段階を指す語。
ミドル
中間・中位を指すカタカナ語。英語の middle に対応する表現。
中位
順位・階層が中くらいであることを示す語。
中心部
全体の中心にある部位を指す語。

midlの対義語・反対語

中間ではなく端の位置を表す語。中心から離れた外縁を示す対義語として使われることが多いです。
外側
中央部の反対語で、内側よりも外の位置を指す語。
周辺
中心ではなく周囲・周辺部を指す語。対義語として使われることがあります。
極端
中庸や穏健さから離れた、強く偏った状態を表す語。
辛い
味が穏やかでない、刺激が強い状態を表す語。ミドルの対義語としてよく使われます。
刺激的
や印象が鋭く強いことを表す語。
激しい
強くて穏やかさがない状態を表す語。
厳しい
条件・評価が甘くなく、厳格なさまを指す語。
過酷
非常に厳しく苦しい状況を指す語。
強い
力・影響・味が大きい状態を表す語。

midlの共起語

MIDL
Microsoft Interface Definition Language(マイクロソフトのインターフェース定義言語。COM/RPC のためのインターフェースを記述する言語です)
IDL
Interface Definition Language(インターフェース定義言語。MIDL の親概念で、さまざまなプラットフォームで使われます)
MIDLファイル
MIDL で記述されたファイル。拡張子は通常 .idl です。
MIDLコンパイラ
MIDL を実行するツール。C/C++ のヘッダやソースを自動生成します。
MIDL.EXE
Windows 上で動く MIDL コンパイラの実行ファイル名。
RPC
Remote Procedure Call(遠隔手続き呼び出し)。MIDL は RPC の定義を作る用途にも使われます。
DCERPC
DCE/RPC。MIDL はこの RPC 系の定義にも用いられてきました。
COM
Component Object Model。MIDL で定義したインタフェースを COM で利用・実装します。
Windows
Windows 環境で広く使われる定義言語・ツール群の前提となるプラットフォーム
ヘッダーファイル
MIDL が生成する C/C++ のヘッダファイル。インタフェース定義の宣言が含まれます。
生成コード
MIDL が自動生成するコード一式(ヘッダ、インタフェース実装の雛形など)
インタフェース
公開される機能の境界。MIDL で定義される主要対象。
拡張子
.idl の拡張子を指すことが多いです。
IDLファイル
IDL 言語で書かれたファイル。MIDL で処理対象となります。
データ型
MIDL で定義するデータ型の総称。基本型・構造体・列挙型・配列などが含まれます。
構造体
複数のメンバを一つのデータとして扱う定義。MIDL でも宣言できます。
列挙型
定数の集合を列挙したデータ型。
配列
同一型のデータを連続して格納するデータ構造の定義。
ポインタ
他のデータ型への参照を表す型。MIDL でも参照定義が可能です。
HRESULT
Windows の標準的な戻り値型。MIDL 定義の戻り値として現れることが多いです。
コマンドライン
MIDL はコマンドラインで実行することが多いツールです。
相互運用
異なる言語・環境間で動作を連携させる目的で MIDL が使われます。

midlの関連用語

MIDL
Microsoft Interface Definition Language。Windowsの分散アプリケーションで使われる、インターフェースを定義する言語です。RPCやCOMの仕様を記述します。
IDL
Interface Definition Language。インターフェースを定義するための一般的な言語の総称で、MIDLは Windows 向けの実装です。
RPC
Remote Procedure Call の略。ネットワーク越しに別のプロセスや別のマシン上の関数を呼び出す仕組みです。
COM
Component Object Model。Windowsで再利用可能な部品(オブジェクト)を組み合わせて使う技術です。
DCOM
Distributed COM。RPC を使ってネットワーク越しに COM オブジェクトを操作する仕組みです。
Proxy
境界をまたぐ呼び出しを実現する代理コードのこと。クライアント側の呼び出しをサーバ側へ中継します。
Stub
Proxy に対して呼び出しを受け取り、実装側へ届ける受け側のコードです。
マーシャリング
データを境界間で正しく送受信できるよう、データ形式を整える処理のことです。
Type Library (TLB)
COM のインターフェース情報を含むファイル。クライアントとサーバが同じ定義を共有するために使います。
GUID
Globally Unique Identifier の略。全世界で一意な識別子です。
UUID
Universally Unique Identifier の略。GUIDと同義で使われることがあります。
IID
Interface Identifier。特定のインターフェースを識別する GUID です。
CLSID
Class Identifier。COM クラスを識別する GUID です。
NDR
Network Data Representation。RPC でデータを送るときの表現形式です。
NDR64
NDR の 64 ビット版。64bit 環境でのデータマーシャリングに対応します。
MIDLコンパイラ
IDL ファイル (.idl) をヘッダ、Proxy/Stub、TLB へ変換するコマンドラインツールです。
IDLファイル
Interface Definition を記述するファイル。拡張子は .idl です。
パラメータ属性
MIDL の引数の受け渡し方向を示す属性です。例: [in]、[out]、[in, out]。
size_is
配列のサイズを指定する属性。要素数を決めます。
length_is
配列の長さを指定する属性。配列の長さを定義します。
string
文字列型のマーシャリングを示す属性です。文字列データの処理を指定します。
interface
IDL の基本単位で、クライアントとサーバが相互に呼び出す関数セットを定義します。
typedef / struct / enum / union
IDL のデータ型定義ブロック。新しい型を定義するために使います。
IDispatch
COM の自動化(Automation)用インターフェース。スクリプトから操作しやすくするための I/F です。
Automation
COM の自動化/スクリプティング対応の機能。

midlのおすすめ参考サイト


インターネット・コンピュータの人気記事

awstatsとは?初心者でもわかる使い方と基本解説共起語・同意語・対義語も併せて解説!
14183viws
bing・とは?初心者のための基本ガイド:検索エンジンの仕組みと使い方共起語・同意語・対義語も併せて解説!
2001viws
着信転送とは?初心者向けガイドで分かる使い方と設定のコツ共起語・同意語・対義語も併せて解説!
880viws
リマインドメールとは?初心者にもわかる基本ガイドと使い方のコツ共起語・同意語・対義語も併せて解説!
605viws
com端子・とは?初心者にも分かる基礎ガイド|シリアルポートの使い方と歴史を解説共起語・同意語・対義語も併せて解説!
583viws
充電アダプターとは何かを徹底解説|初心者でも分かる基本と選び方のコツ共起語・同意語・対義語も併せて解説!
560viws
pinロックとは?初心者が知っておくべき基本と使い方ガイド共起語・同意語・対義語も併せて解説!
537viws
asp・とは?初心者向けに徹底解説する基本と使い方ガイド共起語・同意語・対義語も併せて解説!
468viws
16進数カラーコード・とは?初心者でもつまずかない基礎と使い方ガイド共起語・同意語・対義語も併せて解説!
450viws
ローカルポート・とは?初心者にも分かる基本と使い方ガイド共起語・同意語・対義語も併せて解説!
434viws
7zファイル・とは?初心者でもわかる使い方と特徴を解説共起語・同意語・対義語も併せて解説!
384viws
全角文字とは?初心者向け解説|全角と半角の違いをやさしく学ぶ共起語・同意語・対義語も併せて解説!
359viws
差し込み印刷・とは?初心者でもすぐわかる使い方と仕組みガイド共起語・同意語・対義語も併せて解説!
354viws
ワンタイムコード・とは?初心者でも分かる基本と使い方ガイド共起語・同意語・対義語も併せて解説!
327viws
none とは?初心者にもやさしく解説する意味と使い方ガイド共起語・同意語・対義語も併せて解説!
316viws
select句・とは?初心者でも分かるSQLの基本と使い方共起語・同意語・対義語も併せて解説!
307viws
csvダウンロードとは?初心者が今すぐ使える基本ガイド共起語・同意語・対義語も併せて解説!
302viws
ダイレクトチャットとは?初心者向けガイドで使い方と注意点を徹底解説共起語・同意語・対義語も併せて解説!
301viws
解像度スケールとは?初心者でも分かる解像度スケールの基礎と使い方共起語・同意語・対義語も併せて解説!
276viws
sha256とは?初心者が知るべき暗号ハッシュの基礎と使い道共起語・同意語・対義語も併せて解説!
242viws

新着記事

インターネット・コンピュータの関連記事