Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Het interfaceproxybestand (U_p.c) is een C-bestand dat routines bevat die gelijk zijn aan die in de client-stub- en server-stubbestanden van een COM-interface (object). Dit bestand bevat implementaties van de surrogaatroutines voor client en server in de inlinemodus van de compiler of equivalente gegevens en thunks in de geïnterpreteerde modi, evenals andere geschikte COM-lijmgegevens, zoals de proxy en stub Vtables.
Het interfaceproxybestand bevat de ondersteunende routines en gegevens alleen voor methoden van de interfaces die zijn gedefinieerd in het huidige IDL-bestand. Om dit gedrag te verduidelijken, wordt in deze sectie een uitgebreid voorbeeld gebruikt. Bij het compileren van een IDL-bestand met een interface zoals IFaceB die wordt overgenomen van IFaceA, worden hulpgegevens en routines met betrekking tot IFaceB gegenereerd in het huidige proxybestand, terwijl de basisinterface-IFaceA-gerelateerde hulpgegevens en routines worden gevonden in de proxy die is gegenereerd op basis van het IDL-bestand met de IFaceA-definitie. De compiler genereert alle gegevens die nodig zijn om de surrogaten van de basisinterface te identificeren en om ze indien nodig te delegeren om de IFaceA-methoden te ondersteunen die worden gebruikt via de IFaceB-interface.
Voor elke methode in een interface in het huidige IDL-bestand bevat het proxybestand de volgende twee surrogaatmethoden wanneer deze zijn gecompileerd in de gemengde modus (/Os), en equivalente interpretergegevens wanneer ze zijn gecompileerd in de interpretermodus (/Oi).
De surrogaat aan de clientzijde, zoals IFaceB_Method_Proxy in dit voorbeeld.
Deze surrogaat aan de clientzijde is het virtuele toegangspunt waarnaar de client, bijvoorbeeld IFaceB::Method, wordt gestuurd. Het maakt de invoerargumenten tot een verzendbare vorm, verzendt de verwerkte argumenten samen met informatie die de interface en de bewerking identificeert, en vervolgens de retourwaarde en eventuele uitvoerargumenten wanneer de aangeroepen bewerking is afgerond.
Het surrogaat aan de serverzijde, bijvoorbeeld IFaceB_Method_Stub.
Deze surrogaat aan de serverzijde is het virtuele toegangspunt waarnaar de onderliggende runtime op de server wordt verzonden om de client te emuleren. "Het maakt de invoerargumenten ongedaan om de clientgegevens te repliceren, roept de implementatie van de interfacefunctie van de server aan, en daarna ordent en verzendt het de retourwaarde en eventuele uitvoerargumenten terug naar de clientzijde."
De standaardnaam voor een proxybestand dat is gegenereerd op basis van een file.idl, is file_p.c. Gebruik de /proxy MIDL compiler switch om de standaardnaam van het interfaceproxybestand te overschrijven. De switches /env en /out zijn van invloed op dit bestand.