Registrieren Sie sich für NLM-Ereignisse (INetworkListManager, Advise, Sink usw.)

In meiner Delphi-Anwendung möchte ich mithilfe der Microsoft Windows Network List Manager-API (NLM) über Netzwerkänderungen informiert werden:http://msdn.microsoft.com/library/ee264321

Ich habe mir das verknüpfte Beispiel "So registrieren Sie sich für NLM-Ereignisse" angesehen und es in Delphi übersetzt. Ich habe jedoch keine Ahnung, wie ich damit weitermachen soll.

var
    pNLM: INetworkListManager;
    pCpc: IConnectionPointContainer;
    pConnectionPoint: IConnectionPoint;
    pSink: IUnknown;
    dwCookie: LongInt;
const
    IID_IConnectionPointContainer: TGUID = '{B196B284-BAB4-101A-B69C-00AA00341D07}';
    IID_IUnknown: TGUID = '{00000000-0000-0000-C000-000000000046}';
begin
    if Succeeded(CoCreateInstance(CLASS_NetworkListManager, nil, CLSCTX_ALL, IID_INetworkListManager, pNLM)) then
    begin
        if Succeeded(pNLM.QueryInterface(IID_IConnectionPointContainer, pCpc)) then
        begin
            if Succeeded(pCpc.FindConnectionPoint(IID_INetworkEvents, pConnectionPoint)) then
            begin
                if Succeeded(pCpc.QueryInterface(IID_IUnknown, pSink)) then
                begin
                    pConnectionPoint.Advise(pSink, dwCookie);
                end;
            end;
        end;
    end;
end;

Der Artikel lautet:

"Nachdem Sie das obige INetworkListManager-Objekt erstellt haben, erhalten Sie ab diesem Zeitpunkt INetworkEvents-Benachrichtigungen. PSink implementiert die INetworkEvent-Schnittstelle einschließlich der Ereignisverarbeitungsmethoden wie NetworkAdded, NetworkDeleted, NetworkConnectivityChanged und NetworkPropertyChanged."

Leider habe ich keine Ahnung, wie das geht. Es gibt keine weiteren Anweisungen und daher hoffe ich, dass mich hier jemand anweisen / ein Beispiel geben kann, was zu tun ist, um benutzerdefinierte Verfahren für diese Ereignisse aufzurufen. Vielen Dank.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage