IWDFObject::AssignContext-Methode (wudfddi.h)
[Warnung: UMDF 2 ist die neueste Version von UMDF und ersetzt UMDF 1. Alle neuen UMDF-Treiber sollten mit UMDF 2 geschrieben werden. Es werden keine neuen Features zu UMDF 1 hinzugefügt, und es gibt eingeschränkte Unterstützung für UMDF 1 für neuere Versionen von Windows 10. Universelle Windows-Treiber müssen UMDF 2 verwenden. Weitere Informationen finden Sie unter Erste Schritte mit UMDF-.]
Die AssignContext- Methode registriert einen Kontext und eine vom Treiber bereitgestellte Bereinigungsrückruffunktion für das Objekt.
Syntax
HRESULT AssignContext(
[in, optional] __drv_aliasesMem IObjectCleanup *pCleanupCallback,
[in, optional] __drv_aliasesMem void *pContext
);
Parameter
[in, optional] pCleanupCallback
Ein Zeiger auf die IObjectCleanup Schnittstelle, die die Bereinigungsrückruffunktion enthält, die Bereinigungsvorgänge für das Objekt ausführt, wenn sie ungültig wird. Dieser Parameter ist optional. Der Treiber kann NULL- übergeben, wenn der Treiber keine Benachrichtigung erfordert, wenn das Objekt bereinigt wird.
[in, optional] pContext
Ein Zeiger auf den zu registrierenden Kontext. NULL- ist ein gültiger Kontext.
Rückgabewert
AssignContext- gibt S_OK zurück, wenn der Vorgang erfolgreich ist. Andernfalls gibt diese Methode einen der Fehlercodes zurück, die in Winerror.h definiert sind.
Bemerkungen
Ein Treiber ruft AssignContext- auf, um einen Kontext zu registrieren und eine Benachrichtigung anzufordern, wenn das Objekt ungültig wird. In einem AssignContext- Aufruf übergibt der Treiber einen Zeiger an die IObjectCleanup Schnittstelle im pCleanupCallback Parameter, um IObjectCleanupzu registrieren. Beachten Sie, dass das Framework intern einen Verweis auf die bereitgestellte IObjectCleanup- Schnittstelle enthält, während das Objekt gültig ist. Wenn das Objekt ungültig wird, ruft das Framework die IObjectCleanup::OnCleanup Methode auf, um den Treiber zu benachrichtigen. Das Framework veröffentlicht automatisch den Verweis auf die bereitgestellten IObjectCleanup nach dem Aufrufen IObjectCleanup::OnCleanup.
Zu einem bestimmten Zeitpunkt kann nur ein Kontext vorhanden sein, der jeder Objektinstanz zugeordnet ist. Versuche, zusätzliche Kontexte zu registrieren, schlagen fehl.
Ein Kontext kann nur einem Objekt zugeordnet werden, das sich in einem gültigen Zustand befindet. Ein Versuch, beispielsweise einen Kontext mit einem Objekt zu verknüpfen, das sich im Löschvorgang befindet, schlägt fehl.
Da der Kontext keine COM-Schnittstelle (Component Object Model) ist, darf der Treiber den Kontext nicht als solche behandeln. Beispielsweise kann der Treiber die AddRef--Methode im Kontext nicht aufrufen.
Die IWDFObject::RetrieveContext--Methode kann verwendet werden, um den Kontext abzurufen, der zuvor über AssignContextregistriert wurde.
Beispiele
Ein Codebeispiel für die Verwendung der AssignContext--Methode finden Sie unter IWDFIoTarget::FormatRequestForWrite.
Anforderungen
Anforderung | Wert |
---|---|
Ende des Supports | In UMDF 2.0 und höher nicht verfügbar. |
Zielplattform- | Desktop |
Mindest-UMDF-Version | 1.5 |
Header- | wudfddi.h (include Wudfddi.h) |
DLL- | WUDFx.dll |