TSWbemSink = class(TOleServer) private FOnObjectReady: TSWbemSinkOnObjectReady; FOnCompleted: TSWbemSinkOnCompleted; FOnProgress: TSWbemSinkOnProgress; FOnObjectPut: TSWbemSinkOnObjectPut; FIntf: ISWbemSink; ... function GetDefaultInterface: ISWbemSink; protected procedure InitServerData; override; procedure InvokeEvent(DispID: TDispID; var Params: TVariantArray); override; public constructor Create(AOwner: TComponent); override; destructor Destroy; override; procedure Connect; override; procedure ConnectTo(svrIntf: ISWbemSink); procedure Disconnect; override; procedure Cancel; property DefaultInterface: ISWbemSink read GetDefaultInterface; published property OnObjectReady: TSWbemSinkOnObjectReady read FOnObjectReady write FOnObjectReady; property OnCompleted: TSWbemSinkOnCompleted read FOnCompleted write FOnCompleted; property OnProgress: TSWbemSinkOnProgress read FOnProgress write FOnProgress; property OnObjectPut: TSWbemSinkOnObjectPut read FOnObjectPut write FOnObjectPut; end;