Dela via


Nätverksövervakarens BLOB

Network Monitor binärt stort objekt (BLOB) är en allmän datastruktur som innehåller konfigurations- och platsinformation för nätverkskort (NIC). Använd BLOB för att representera nätverkskort och för att filtrera poster i en lista över nätverkskort. BLOBAR kan också innehålla programspecifika data utan att påverka andra data som de innehåller. BLOB-implementeringen är ogenomskinlig på alla nivåer som måste komma åt BLOB med BLOB-API:er.

BLOB-struktur

En BLOB kan betraktas som ett hierarkiskt träd som används för att ange strängar. Det här trädet har tre lager: Ägare, Kategori och Tagg. Ägare är en sträng som i allmänhet anger vem som läser en post. Kategorin är också en sträng som anger en allmän funktionell gruppering av taggar under ägaren. Taggen är postens faktiska namn.

De strukturella egenskaperna hos BLOB är:

  • BLOB-hjälpen i en process skyddas från varandra av ett mutex som är inbyggt i varje BLOB.
  • Varje BLOB har ett internt versionsnummer så att hjälparna kan hantera både nuvarande och framtida BLOB-formulär. Versionskonflikter kan uppstå om du skickar en BLOB till en annan dator via ett fjärrproceduranrop.
  • Själva BLOB:en är en pekare till ett tomrum. Tänk på att program bör allokera BLOB med const modifierare för att undvika att ändra innehållet.
  • Var och en av de utsedda, liksom deras värden, är strängar. Tänk på att strängarna som returneras av GetString funktioner faktiskt är pekare i BLOB och bör inte ändras. Av den anledningen måste dessa strängar anges som const char**pX* för att förhindra att program oavsiktligt ändrar dem.

I allmänhet uppmuntrar alla parametrar med const designator anroparen att avstå från att ändra värdena i stället för att hindra hjälpfunktionerna från att ändra dem. I själva verket ändrar hjälpfunktionerna vanligtvis dessa värden.