COM-Komponenten-Handbuch: Automatisierte Administration und Systemprogrammierung unter Windows (ISBN 3-8273-1936-6)
|
|
z.Z. keine
Inhaltsverzeichnis
Die hintere Zahl ist die Seitennummer, auf der das Kapitel startet.
Vorwort 21
1 Einführung 25
1.1 Systemzugriff: Wer? Wie? 25
1.2 COM im Überflug 26
1.2.1 COM-Begriffe 26
1.2.2 Eigenschaften von COM 29
1.3 Verfügbare Komponenten 29
1.3.1 Benutzeroberfläche 31
1.3.2 Benutzerverwaltung 31
1.3.3 Systemmanagement 31
1.3.4 Ereignisprotokolle 31
1.3.5 Dienste 32
1.3.6 Registry 32
1.3.7 Zeitplandienst (Scheduler) 32
1.3.8 Verwaltung von Komponenten 32
1.3.9 Dateisystem 32
1.3.10 Netzwerkkommunikation 33
1.3.11 Messaging und Groupware 33
1.3.12 Textdateien 34
1.3.13 Verschlüsselung 34
1.3.14 Datenbanken und andere Datenquellen 34
1.3.15 Microsoft SQL Server (MSQL) 34
1.3.16 Oracle-Datenbanken 34
1.3.17 Verzeichnisdienste 35
1.3.18 Internet Information Server (IIS) 35
1.3.19 Microsoft Exchange Server 5.5 35
1.3.20 Microsoft Exchange Server 2000 36
1.3.21 Lotus Notes 37
1.3.22 SAP R/3 37
1.3.23 Microsoft Office 37
1.4 Der Rest dieses Buchs 38
2 COM-Theorie 39
2.1 Binärstandard 39
2.2 Programmiersprachen für COM 39
2.3 Laufzeitumgebungen 40
2.4 COM-Bausteine 42
2.4.1 Die wichtigsten Bausteine im Kurzüberblick 42
2.4.2 Global Unique Identifier (GUIDs) 45
2.4.3 Moniker 46
2.5 COM-Dienste 47
2.6 COM-Konfigurationsdaten 48
2.6.1 Die Registry als Konfigurationsspeicher 48
2.6.2 XML-Konfigurationsdateien 49
2.7 Komponentenarten 49
2.8 Verpackungsform 52
2.8.1 EXE-Server im Vergleich zu DLL-Server 53
2.8.2 Der Zusammenhang zwischen Komponentenart und
Verpackungsform 55
2.8.3 Zusatzinformationen 55
2.9 Registrierung von Komponenten 56
2.10 COM-Klassen 57
2.10.1 Klassen-Identifikation mit CLSIDs 58
2.10.2 Programmatic Identifier 58
2.10.3 Friendly Class Name 59
2.10.4 Klassen in der Registry 59
2.11 COM-Schnittstellen 61
2.11.1 Standardschnittstelle einer COM-Klasse 62
2.11.2 Namensgebung 62
2.11.3 Schnittstellen in der Registry 63
2.11.4 Virtuelle Tabellen 63
2.11.5 Die Grauzone zwischen Klasse und
Schnittstelle 64
2.11.6 Mangelnde Selbsterkenntnis bei den
Schnittstellen 65
2.11.7 Bullet-and-Stick-Diagramme 67
2.12 Klassen-Mitglieder 67
2.13 Typinformationen 69
2.13.1 Interface Definition Language (IDL) 71
2.13.2 Typbibliotheken 74
2.14 Statischer Aufruf versus Automation 76
2.15 COM-Standardschnittstellen 78
2.15.1 Statisches Binden mit IUnknown 78
2.15.2 Automation mit IDispatch 80
2.15.3 Duale Schnittstellen 83
2.15.4 IDispatchEx 84
2.16 Distributed COM 84
2.16.1 DCOM-Protokoll 84
2.16.2 DCOM-Installation und -Konfiguration 85
2.16.3 DCOM im Internet 86
2.17 Objektaktivierung 88
2.17.1 Service Control Manager (SCM) 89
2.17.2 Erzeugung neuer Instanzen 89
2.17.3 Zugriff auf bestehende Instanzen 92
2.17.4 Aktivierungsfehler 94
2.18 COM-Anwendungen 95
2.19 COM-Assemblies 96
2.20 COM-Kategorien 100
2.21 Persistenz und Structured Storage 102
2.22 COM-Sicherheit 104
2.22.1 Authentifizierung 105
2.22.2 Identität 105
2.22.3 Impersonifizierung 107
2.22.4 Zugriffsberechtigungen 107
2.23 Active Scripting 109
2.23.1 Active Scripting Hosts 110
2.23.2 Active Scripting Engines 111
2.23.3 COM-Komponenten beim Active Scripting 114
2.24 Windows Script Components (WSCs) 115
2.25 Microsoft Transaction Server (MTS) 116
2.25.1 MTS-Administration 117
2.25.2 Interception 117
2.25.3 Packages 118
2.25.4 Programmierung 119
2.26 COM+ 119
2.26.1 Änderungen gegenüber dem MTS 120
2.26.2 Neue Dienste in COM+ 121
2.26.3 COM+-Administration 122
2.27 Objektmodelle in COM-Komponenten 122
2.27.1 Objektorientierte Konzepte in COM 122
2.27.2 Bausteine von COM-Objektmodellen 124
2.27.3 Best Practice für Objektmodelle 125
2.27.4 Meta-Objektmodelle 126
2.28 COM-Werkzeuge 131
2.28.1 Microsoft Registry-Editoren 131
2.28.2 Registry Crawler 132
2.28.3 Regsvr32, SWBregsvr und CliReg 133
2.28.4 COM-Viewer (OLE Viewer) 135
2.28.5 COM-Explorer 139
2.28.6 Dependency Walker 140
2.28.7 Objektkatalog 140
2.28.8 comTLBrowser 143
2.28.9 DCOM-Konfigurationswerkzeug 144
2.28.10 MTS Explorer 147
2.28.11 Snap-In "Komponentendienste" 149
2.28.12 ROT-Viewer 149
2.29 Bewertung von COM 151
2.29.1 Vorteile von COM 151
2.29.2 COM auf anderen Plattformen 152
2.29.3 Unzulänglichkeiten von COM 152
2.30 NET ("DOTNET") 156
3 COM-Praxis mit Visual Basic und VBScript 161
3.1 COM in den verschiedenen Visual Basic-Dialekten
161
3.2 Objektvariablen 163
3.3 Instanziierung von COM-Klassen 164
3.3.1 Instanziieren mit CreateObject() 164
3.3.2 Fernaktivierung mit DCOM 165
3.3.3 Instanziieren mit dem NEW-Operator in VB6/VBA
166
3.3.4 New vs. CreateObject() 166
3.3.5 Frühes oder spätes Binden 167
3.4 Zugriff auf bestehende Instanzen 168
3.5 Arbeit mit COM-Objekten 169
3.5.1 Methodenaufrufe 170
3.5.2 Attributzugriffe 170
3.5.3 Zugriff auf Unterobjekte 170
3.5.4 Arbeit mit Schnittstellen 171
3.5.5 Ereignisse empfangen 173
3.5.6 Tipps zur Objektverwendung 174
3.6 Objektoperationen 176
3.6.1 Wertzuweisung 176
3.6.2 Objektvergleich 176
3.6.3 Typüberprüfung 176
3.6.4 Beispiel 177
3.7 Objektmengen (Collections) 178
3.7.1 Lesezugriff auf Collections 178
3.7.2 Iteration über die Elemente einer Collection
179
3.7.3 Veränderung einer Collection 180
3.7.4 Beispiel 180
3.8 Objektvernichtung 183
3.9 Erzeugung von COM-Komponenten 184
3.9.1 Projekt und Komponente 185
3.9.2 Klassendefinition 188
3.9.3 Schnittstellen und Mitglieder 190
3.9.4 Unterobjekte 196
3.9.5 Selbstreferenzierung 197
3.9.6 Property-Routinen 197
3.9.7 Erzeugung von Collections in VB6/VBA 203
3.9.8 Ereignisse 205
3.9.9 Vererbung 210
3.9.10 Mehrfachschnittstellen 211
4 WSH Runtime Library 217
4.1 Objektmodelle der WSH Runtime Library 218
4.2 WSHNetwork und untergeordnete Klassen 225
4.2.1 Druckerverbindungen verwalten 226
4.2.2 Netzlaufwerke verwalten 227
4.3 WSHShell und untergeordnete Klassen 229
4.3.1 Aktuelles Arbeitsverzeichnis 229
4.3.2 Zeitgesteuerte Dialogboxen 229
4.3.3 Zugriff auf die Registry 230
4.3.4 Schreiben in das Anwendungsprotokoll 233
4.3.5 Programme ausführen 233
4.3.6 Fernsteuerung von Windows-Fenstern 239
4.3.7 Umgebungsvariablen lesen und bearbeiten 241
4.3.8 Zugriff auf Sonderordner 243
4.3.9 Verknüpfungen erstellen 243
5 Scripting Runtime Library 247
5.1 Die Dictionary-Klasse 248
5.2 File System Objects (FSO) 251
5.2.1 Funktionsüberblick 251
5.2.2 FSO-Objektmodell 252
5.2.3 Lesezugriff auf das Dateisystem 254
5.2.4 Dateisystemoperationen 258
5.3 Arbeit mit Textstreams 260
6 Microsoft Shell Objects 265
6.1 Objektmodell der Shell Objects 266
6.2 Arbeit mit Explorer-Fenstern 268
6.3 Arbeit mit Ordnern und Dateien 271
7 Microsoft Internet Controls 275
7.1 Objektmodell des Webbrowser Controls 276
7.2 Anwendungsbeispiele 276
8 Document Object Model (DOM) 279
8.1 HTML Document Object Model 280
8.1.1 MSHTML-Objektmodell 281
8.1.2 Zugriff auf ein einzelnes Element 283
8.1.3 Arbeit mit Collections 286
8.2 XML Document Object Model (MSXML) Version 4.0
288
8.2.1 MSXML-Objektmodell 290
8.2.2 XML-Dateien für die Skripte 293
8.2.3 Lesezugriff auf XML-Dokumente 293
8.2.4 Erzeugen eines XML-Dokuments 301
8.2.5 Aufruf des XSLT-Processors in MSXML 302
9 ActiveX Data Objects (ADO) 305
9.1 Von ODBC zu OLE DB 305
9.2 Einführung in die ActiveX Data Objects (ADO) 309
9.3 Beschreibung von Datenverbindungen 312
9.3.1 ODBC-Data Source Names (DSN) 313
9.3.2 OLE DB Data Links 314
9.3.3 Verbindungszeichenfolgen (Connection Strings)
315
9.4 Das ADO-Objektmodell 318
9.5 Tabellenzugriff mit Recordsets 320
9.5.1 Lesezugriff auf Daten 321
9.5.2 Schreibzugriff auf Daten 327
9.5.3 Dynamische Recordsets im Speicher 330
9.5.4 Persistenz von Recordsets 330
9.5.5 Weitere Features der Recordset-Klasse 332
9.6 Befehlsausführung mit der Command-Klasse 333
9.7 Dauerhafte Verbindungen mit der
Connection-Klasse 337
9.8 Zugriff auf einzelne Elemente mit der
Record-Klasse 340
9.9 Transaktionssteuerung 343
9.10 ADO-Fehlerbehandlung 345
10 Taskscheduler-Komponente 349
10.1 Grundlagen des Taskschedulers 349
10.2 Programmierung 351
10.3 Objektmodell 352
10.4 Liste der Tasks und ihrer Trigger 356
10.5 Erzeugung neuer Tasks 356
10.6 Manueller Start und Stopp 358
10.7 Löschen eines Tasks 359
10.8 Benutzerkontext setzen 359
11 Registry-Zugriff mit RegCol 361
11.1 RegCol-Objektmodell 361
11.2 Lesen der Registry 365
11.3 Änderungen in der Registry 367
12 Zugriff auf die NT-Ereignisprotokolle 369
12.1 EventLog-Zugriff mit STMAdmin 369
12.2 OLE DB-Provider für das NT-EventLog 373
13 Active Directory Service Interface (ADSI) 375
13.1 Verzeichnisdienste 375
13.1.1 Aufbau eines Verzeichnisbaums 376
13.1.2 Verzeichnisdienstschemata 377
13.1.3 Objektidentifikation 378
13.1.4 Meta-Directories 378
13.1.5 Lightweight Directory Access Protocol (LDAP)
379
13.2 Die ADSI-Grundlagen 382
13.2.1 Architektur 383
13.2.2 Installation 383
13.2.3 Verfügbare ADSI-Provider 384
13.2.4 ADSI Software Development Kit 385
13.3 Das ADSI-Meta-Objektmodell 385
13.3.1 Überblick über die
ADSI-Standardschnittstellen 388
13.3.2 Die Meta-Schnittstellen IADs und
IADsContainer 392
13.4 ADSI-Werkzeuge 393
13.4.1 Active Directory Service Browser (ADB) 393
13.4.2 ADSI Explorer 394
13.4.3 ADSI Edit 395
13.4.4 ADSISchemaBrowser 397
13.5 Grundlagen der ADSI-Programmierung 397
13.5.1 Objektidentifikation und Bindung 397
13.5.2 Methodenaufrufe und Attributzugriffe 400
13.5.3 Zugriff auf Container-Objekte 403
13.5.4 Instanzenverwaltung 405
13.5.5 ADSI-Sicherheit 407
13.5.6 Schemazugriff 409
13.5.7 ADSI-Queries 412
13.6 ADS Namespaces Container 416
13.7 ADSI-Provider für Windows NT 4.0 (WinNT) 418
13.7.1 WinNT-Objektmodell 419
13.7.2 Identifikation und Bindung 420
13.7.3 Verwaltung von NT Domänen 421
13.7.4 Die WinNT-Klasse "Computer" 423
13.7.5 Benutzerkonten verwalten mit der
"User"-Klasse 424
13.7.6 Terminalserver-Einstellungen 429
13.7.7 Gruppenverwaltung mit der Group-Klasse 429
13.7.8 Verwaltung von NT-Diensten mit der
"Service"-Klasse 431
13.7.9 Verzeichnisfreigaben verwalten 432
13.7.10 Benutzersitzungen und geöffnete Ressourcen
433
13.7.11 Druckersteuerung 434
13.8 Windows2000 Active Directory-Administration mit
ADSI 435
13.8.1 ADS-Objektmodell 436
13.8.2 Identifikation und Bindung 438
13.8.3 Benutzerverwaltung 440
13.8.4 Organisationseinheiten verwalten 443
13.9 Exchange Server-Administration mit ADSI 444
13.9.1 LDAP-Konfiguration 444
13.9.2 Exchange-Objektmodell 445
13.9.3 Identifikation und Bindung 448
13.9.4 Das Exchange-Schema 449
13.9.5 Empfänger auflisten 452
13.9.6 Erzeugung neuer Empfängereinträge 452
13.9.7 Erzeugung von E-Mail-Verteilern 456
13.9.8 Zugriff auf Konfigurationsinformationen 457
13.10 Internet Information Server-Administration mit
ADSI 458
13.10.1 IIS-Objektmodell 458
13.10.2 Identifikation und Bindung 460
13.10.3 Arbeit mit virtuellen Webservern 460
13.11 Zusatzkomponenten für ADSI 464
13.11.1 ADSI-Versionsabfrage mit ADsVersion 465
13.11.2 Detaillierte Fehlermeldungen mit ADsError
466
13.11.3 GetObject() durch die Hintertür mit
ADsFactory 467
13.11.4 RAS-Konfiguration mit ADsRAS 468
13.11.5 Zugriff auf Sicherheitseinstellungen mit
ADsSecurity 470
13.11.6 IADsTools 481
14 Windows Management Instrumentation (WMI) 483
14.1 WMI-Grundlagen 483
14.1.1 WMI-Funktionsumfang 484
14.1.2 WMI in Whistler 485
14.1.3 Installation und Konfiguration 486
14.1.4 WMI-Provider 488
14.1.5 Programmierung mit der WMI-COM-Komponente 489
14.1.6 Wichtige WMI-Konzepte im Überblick 491
14.1.7 Bindung an Managed Objects 502
14.2 Objektmodell der WMI-Komponente 505
14.2.1 Die Meta-Klasse SWbemObject 508
14.2.2 SWbemServices 509
14.3 Arbeit mit der WMI-Komponente 510
14.3.1 Zugriff auf lokale Managed Objects 510
14.3.2 Zugriff auf Schemainformationen 512
14.3.3 Zugriff auf entfernte Systeme 516
14.3.4 Änderung von Attributwerten 516
14.3.5 Aufruf von Methoden 517
14.3.6 Ausgabe eines ObjectSets 520
14.3.7 WQL-Queries im Detail 521
14.3.8 Semi-synchrone Verarbeitung 524
14.3.9 Asynchrone Aufrufe mit SWbemSink 525
14.4 WMIODBC-Treiber 527
14.5 ActiveScriptEventConsumer 527
14.5.1 WMI-ADSI-Integration 529
14.6 Weitere WMI-Beispiele 531
14.7 WMI-Werkzeuge 535
14.7.1 WMI Object Browser 535
14.7.2 WMI CIM Studio 537
14.7.3 WMI Event Registration Tool 540
14.7.4 WMI Event Viewer 541
14.7.5 VBInstance 542
14.7.6 WMI-Testprogramm 543
14.7.7 MOF Compiler 543
14.8 Ihre Expedition in die WMI 543
15 COM+ Administration Objects 545
15.1 Basis-Objektmodell 546
15.2 Meta-Objektmodell 548
15.3 Arbeit mit der COMAdminCatalog-Klasse 552
15.4 MTS Administration Objects 556
16 SQL Server Distributed Management Objects (DMO) 7.0/2000
559
16.1 DMO-Objektmodell 560
16.2 Application-Klasse 565
16.3 SQLServer-Klasse 566
16.4 Anlegen einer neuen Datenbank 567
16.5 Anlegen einer neuen Tabelle 571
16.6 Backups 574
17 DTS-Package Objects 577
18 Collaboration Data Objects (CDO) 579
18.1 CDO-Grundlagen 579
18.1.1 Aufbau von Messaging-Systemen 579
18.1.2 Messaging Application programmino Interface
(MAPI) 580
18.1.3 CDO-Versionen 582
18.2 CDO-Objektmodell 583
18.3 CDO- und MAPI-Basiskonzepte 587
18.3.1 MAPI-Identifikationsnummern 587
18.3.2 Gemeinsame Attribute 588
18.3.3 Kleine und große Auflistungen 589
18.3.4 Erweiterbarkeit der Klassen 590
18.3.5 Property-Tags 591
18.4 CDO-Anmeldung 593
18.5 Zugriff auf Infostores 597
18.6 Zugriff auf Ordner 599
18.7 Zugriff auf die Nachrichten 604
18.8 Anlegen neuer Nachrichten in Ordnern 610
18.9 Adressbücher und Adresseinträge 612
18.10 Senden einer E-Mail 613
18.11 Arbeit mit Attachments 615
19 Komponenten für den Exchange Server 2000 619
19.1 Überblick 619
19.1.1 Webstore 619
19.1.2 Active Directory 626
19.1.3 Weitere Komponenten 626
19.1.4 Grundlegende Konzepte des Webstores 627
19.2 Exchange-Programmierung mit ADO 633
19.2.1 OLE DB-Provider für den Webstore 633
19.2.2 ADO-Klassen 635
19.2.3 SQL-Abfragen auf den Webstore 636
19.2.4 Hilfsroutinen für die ADO-Exchange
Programmierung 639
19.2.5 Zugriff auf Ordner 641
19.2.6 Zugriff auf Nachrichten 648
19.3 CDO 3.0 für Exchange 2000 656
19.3.1 Neue Konzepte in CDO 3.0 657
19.3.2 CDO 3.0-Objektmodell 658
19.3.3 Arbeit mit der Klasse "Message" 659
19.3.4 Arbeit mit der Klasse "Person" 661
19.3.5 Exchange-Objekte erzeugen mit CDO 3.0 662
19.3.6 Senden einer E-Mail 664
19.4 CDO for Exchange Management 666
19.4.1 Empfänger-Typen 667
19.4.2 Objektmodell 668
19.4.3 Anlegen eines Postfachs mit ADSI und CDOEXM
671
19.4.4 Festlegung der Postfacheigenschaften 675
19.4.5 Einrichtung von E-Mail für externe Empfänger
678
20 SMTP-Mailkomponenten 681
20.1 CDONTS für NT4 682
20.2 CDO for Windows2000 684
20.3 JMAIL 688
21 TCP/IP-Kommunikationskomponenten 691
21.1 Microsoft WinSock-Komponente 691
21.2 Internet Transfer-Komponente 695
21.3 ASPInet 700
21.4 Mabry FTPX 702
22 Reguläre Ausdrücke mit RegExp 705
22.1 RegExp-Objektmodell 706
22.1.1 Klasse " RegExp" 706
22.2 Einfacher Mustervergleich mit Test() 708
22.3 RA-Symbole 709
22.4 Ausführlicher Mustervergleich mit Execute() 712
22.5 Submatches 715
22.6 Musterersetzung mit Replace() 716
23 WindowsScripting-Komponente 719
23.1 Klasse "IniFile" 720
23.2 Klasse "WinNTUser" 720
23.3 Klasse "Util" 722
23.4 Klasse "ADSI" 722
23.5 Klasse "CSV" 722
24 Microsoft Common Dialog Control 725
24.1 Objektmodell 725
24.2 Einfaches Beispiel 727
24.3 Öffnen-Dialog 729
24.4 Speichern-Dialog 731
24.5 Schriftarten-Dialog 732
25 Microsoft Operations Manager-Hilfsobjekte (OnePoint
Utility Objects) 735
25.1 OnePoint Utility Objects for Scripting 735
25.1.1 SCManager-Klasse 737
25.1.2 EventLog 738
25.1.3 SystemManager-Klasse 739
25.1.4 INet-Klasse 740
25.1.5 Utility-Klasse 741
25.2 OnePoint Utility Objects for Active Directory
1.0 742
25.3 OnePoint Utility Objects for Exchange 745
25.3.1 Klasse "MailboxAnalyzer" 746
25.3.2 Klasse "PublicFolderAnalyzer" 748
26 Microsoft Office-Komponenten 751
27 Komponentenerforschung 753
27.1 Suche nach Komponenten 753
27.1.1 Lokale Suche 753
27.1.2 Suche bei Microsoft 756
27.1.3 Suche bei anderen Anbietern 757
27.1.4 Newsgroups 757
27.2 Analyse von Komponenten 758
27.2.1 Installation 758
27.2.2 Typbibliothek betrachten 758
27.2.3 Dokumentation lesen 759
27.2.4 Schrittweise Testcodierung 760
27.2.5 Ausführliches Studium der Dokumentation 761
27.2.6 Implementierung 761
A Grundlagen objektorientierter Komponentenarchitekturen
763
A.1 Objektorientierung 763
A.1.1 Objekte 763
A.1.2 Schnittstellen (Interfaces) 765
A.1.3 Klassen 766
A.1.4 Vererbung (Inheritance) 768
A.1.5 Beziehungen zwischen Objekten und Klassen 770
A.1.6 Objektmodelle 774
A.1.7 Polymorphismus 776
A.1.8 Dynamische Bindung 777
A.2 Komponentenarchitekturen 778
A.3 Verfügbare Komponentenarchitekturen 781
B Hinweise zum Buch 783
B.1 Sprachliche Konventionen 783
B.2 Hinweise zur Formatierung des Textes 784
B.3 Querverweise 785
B.4 Konventionen in den Code-Beispielen 786
B.5 Die Umgebung für dieses Buch 788
B.6 Grafische Notation in den Objektdiagrammen 789
B.6.1 Knoten (geometrische Formen) 791
B.6.2 Zusätze 791
B.6.3 Kanten (Verbindungslinien) 792
B.7 Komponenten-Schnellinfo 794
C CD-ROM und Website 797
C.1 Der Inhalt der CD-ROM 797
C.2 Die Code-Beispiele auf der CD-ROM 797
C.3 Die Website zu diesem Buch 799
D Abkürzungsverzeichnis 801
E Literaturverzeichnis 809
E.1 Gedruckte Literatur 809
E.2 Quellen im Internet 812
E.3 Requests for Comment (RFCs) 820
E.4 Newsgroups 820
E.5 Andere Quellenangaben 821
Stichwortverzeichnis 823
[Mehr Informationen +
versandkostenfreie Bestellung - auf Wunsch vom Autor signiert!]
www.IT-Visions.de, (C) Dr. Holger Schwichtenberg
|