Laden der Notify-Objekt-DLL und des Klassenobjekts
Benachrichtigen von Objekten für Netzwerkkomponenten sollten als COM-Objekte (Component Object Model) implementiert werden. Diese COM-Objekte befinden sich in DLLs, die COM-Komponentenserver sind. Weitere Informationen zum Entwickeln von DLL-COM-Servern finden Sie im Microsoft Windows SDK.
Die DLL für ein bestimmtes Notify-Objekt sollte implementiert werden, um eine Reihe von Einstiegspunktfunktionen zu exportieren:
Eine DllMain-Funktion , mit der das Netzwerkkonfigurationssubsystem die DLL in den virtuellen Adressraum für das Subsystem laden kann.
DllRegisterServer - und DllUnregisterServer-Funktionen zum Einfügen von Informationen in die Betriebssystemregistrierung für die Klassenobjekte der DLL. Das Netzwerkkonfigurationssubsystem verwendet diese Registrierungsinformationen, um das Benachrichtigungsobjekt einer Netzwerkkomponente zu suchen und zu laden.
Eine DllCanUnloadNow-Funktion , mit der das Netzwerkkonfigurationssubsystem bestimmen kann, ob die DLL verwendet wird. Wenn die DLL nicht verwendet wird, kann das Subsystem die DLL sicher aus dem Arbeitsspeicher entladen.
Damit eine Benachrichtigungsobjekt-DLL ein COM-Server ist, muss sie eine Klassenfactory für das vom Server unterstützte Notify-Objekt verfügbar machen. Mit dieser Klassenfactory kann das Netzwerkkonfigurationssubsystem eine instance des Notify-Objekts erstellen. Die Klassenfactory sollte von der IClassFactory-Schnittstelle erben . Weitere Informationen zum Implementieren von Klassen, die von IClassFactory erben, finden Sie im Windows SDK.