IID_PPV_ARGS Makro (combaseapi.h)
Wird zum Abrufen eines Schnittstellenzeigers verwendet, wobei der IID-Wert der angeforderten Schnittstelle automatisch basierend auf dem Typ des verwendeten Schnittstellenzeigers bereitgestellt wird. Dadurch wird ein häufiger Codierungsfehler vermieden, indem der Typ des zur Kompilierzeit übergebenen Werts überprüft wird.
Syntax
void IID_PPV_ARGS(
ppType
);
Parameter
ppType
Eine Adresse eines Schnittstellenzeigers, dessen Typ T verwendet wird, um den Typ des angeforderten Objekts zu bestimmen. Das Makro gibt den Schnittstellenzeiger über diesen Parameter zurück.
Rückgabewert
Keine
Bemerkungen
Eine gängige Syntax in Methoden zum Abrufen eines Schnittstellenzeigers (insbesondere QueryInterface und CoCreateInstance) umfasst zwei Parameter:
- Ein [in]-Parameter vom Typ REFIID, um die IID der abzurufenden Schnittstelle anzugeben.
- Ein [out]-Parameter,normalerweise vom Typ void**, um den Schnittstellenzeiger zu empfangen.
Während Windows 7 die erste Aufnahme dieses Makros in einen öffentlichen Header ist, kann es auf älteren Systemen verwendet werden, indem es manuell in Ihren Projektheadern oder im Quellcode definiert wird.
Das folgende Beispiel zeigt die Verwendung von IID_PPV_ARGS zum Erstellen des Speicherobjekts der Speichereigenschaft mithilfe von IPropertyStore.
IPropertyStore *pPropertyStore;
CoCreateInstance(CLSID_PropertyStore, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&pPropertyStore));
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 7 [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 R2 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | combaseapi.h |