Freigeben über


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. UMDF 1 werden keine neuen Features hinzugefügt, und die Unterstützung für UMDF 1 in neueren Versionen von Windows 10 ist eingeschränkt. 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 Cleanup-Rü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 Cleanup-Rückruffunktion enthält, die Bereinigungsvorgänge für das Objekt ausführt, wenn es ungültig wird. Dieser Parameter ist optional. Der Treiber kann NULL übergeben, wenn der Treiber keine Benachrichtigung benötigt, 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.

Hinweise

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 auf die IObjectCleanup-Schnittstelle im pCleanupCallback-Parameter , um IObjectCleanup zu registrieren. Beachten Sie, dass das Framework intern einen Verweis auf die angegebene 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 gibt den Verweis auf das angegebene IObjectCleanup nach dem Aufruf von IObjectCleanup::OnCleanup automatisch frei.

Zu einem bestimmten Zeitpunkt kann nur ein Kontext vorhanden sein, der jedem Objekt instance 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. Beispielsweise schlägt der Versuch, einem Objekt, das gerade gelöscht wird, einen Kontext zuzuordnen, fehl.

Da der Kontext keine COM-Schnittstelle (Component Object Model) ist, darf der Treiber den Kontext nicht als solchen behandeln. Beispielsweise kann der Treiber die AddRef-Methode nicht im Kontext aufrufen.

Die IWDFObject::RetrieveContext-Methode kann verwendet werden, um den Kontext abzurufen, der zuvor über AssignContext registriert 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
UMDF-Mindestversion 1.5
Kopfzeile wudfddi.h (include Wudfddi.h)
DLL WUDFx.dll

Weitere Informationen

IObjectCleanup

IObjectCleanup::OnCleanup

IWDFObject

IWDFObject::RetrieveContext