ネットワーク モニター BLOB
Network Monitor バイナリ ラージ オブジェクト (BLOB) は、ネットワーク インターフェイス カード (NIC) の構成と場所の情報を含む汎用データ構造です。 BLOB を使用して NIC を表し、NIC の一覧のエントリをフィルター処理します。 BLOB には、保持している他のデータに影響を与えることなく、アプリケーション固有のデータを含めることもできます。 BLOB の実装は、BLOB API を使用して BLOB にアクセスする必要があるすべてのレベルに対して不透明です。
BLOB 構造体
BLOB は、文字列を指定するために使用される階層ツリーと見なすことができます。 このツリーには、所有者、カテゴリ、タグの 3 つのレイヤーがあります。 Owner は、一般にエントリを読み取るユーザーを示す文字列です。 Category は、所有者の下にあるタグの一般的な機能グループを指定する文字列でもあります。 Tag は、エントリの実際の名前です。
BLOB の構造特性は次のとおりです。
- あるプロセス内の BLOB ヘルパーは、各 BLOB に組み込まれているミューテックスによって相互に保護されます。
- 各 BLOB には内部バージョン番号があるため、ヘルパーは現在の BLOB フォームと将来の BLOB フォームの両方を処理できます。 リモート プロシージャ コールを使用して別のコンピューターに BLOB を送信すると、バージョンの競合が発生する可能性があります。
- BLOB 自体は void へのポインターです。 アプリケーションでは、内容が変更されないように、 const 修飾子を使用して BLOB を割り当てる必要があることに注意してください。
- 各指定子とその値は文字列です。 GetString 関数によって返される文字列は、実際には BLOB へのポインターであり、変更しないでください。 このため、アプリケーションが誤って変更されないようにするには、これらの文字列を const char**pX* として指定する必要があります。
一般に、 const 指定子を持つすべてのパラメーターは、ヘルパー関数による値の変更を禁止するのではなく、呼び出し元に値の変更を控えるよう促します。 実際、ヘルパー関数は通常、これらの値を変更します。