Vra

Gegewe twee koppelvlak verwysings verkry uit verskillende bronne. Is daar 'n programmatiese manier om te sê of hulle geïmplementeer deur dieselfde instansie?

'n eenvoudige gelykheid tjek van die koppelvlak verwysings versuim altyd.


Edit: Groot dele van die oorspronklike vraag, wat blyk te wees 'n onafhanklike probleem is nou verskuif na 'n nuwe vraag .

Was dit nuttig?

Oplossing

Jy kan navraag vir die IUnknown koppelvlak en vergelyk hierdie wenke. Alle ander koppelvlak wysers is nie gewaarborg om dieselfde waarde terug elke keer.

Die Reëls van die Component Object Model :

  

Object identiteit. Dit word vereis dat enige oproep tot QueryInterface op enige koppelvlak vir 'n gegewe voorwerp bv vir die spesifieke koppelvlak IUnknown altyd dieselfde fisiese wyser waarde moet terugkeer. Dit stel 'n beroep QueryInterface (IID_IUnknown, ...) op enige twee koppelvlakke en vergelyk die resultate te bepaal of hulle verwys na dieselfde voorbeeld van 'n voorwerp (dieselfde COM voorwerp identiteit).

Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top