Freigeben über


BIND_OPTS-Struktur (objidl.h)

Enthält die Parameter, die während eines Moniker-Bindungsvorgangs verwendet werden.

Die BIND_OPTS2 - oder BIND_OPTS3-Struktur kann anstelle der BIND_OPTS-Struktur verwendet werden.

Syntax

typedef struct tagBIND_OPTS {
  DWORD cbStruct;
  DWORD grfFlags;
  DWORD grfMode;
  DWORD dwTickCountDeadline;
} BIND_OPTS, *LPBIND_OPTS;

Member

cbStruct

Die Größe dieser Struktur in Bytes.

grfFlags

Flags, die Aspekte von Monikerbindungsvorgängen steuern. Dieser Wert ist eine beliebige Kombination der Bitflags in der BIND_FLAGS-Enumeration . Die CreateBindCtx-Funktion initialisiert diesen Member auf null.

grfMode

Flags, die beim Öffnen der Datei verwendet werden sollen, die das vom Moniker angegebene Objekt enthält. Mögliche Werte sind die STGM-Konstanten. Der Bindungsvorgang verwendet diese Flags beim Aufruf von IPersistFile::Load beim Laden der Datei. Wenn das Objekt bereits ausgeführt wird, werden diese Flags vom Bindungsvorgang ignoriert. Die CreateBindCtx-Funktion initialisiert dieses Feld, um STGM_READWRITE.

dwTickCountDeadline

Die Uhrzeit in Millisekunden, bis zu der der Aufrufer den Bindungsvorgang abschließen möchte. Mit diesem Member kann der Aufrufer die Ausführungszeit eines Vorgangs einschränken, wenn die Geschwindigkeit von primärer Bedeutung ist. Der Wert 0 (null) gibt an, dass kein Stichtag vorhanden ist. Aufrufer verwenden diese Funktion am häufigsten, wenn sie die IMoniker::GetTimeOfLastChange-Methode aufrufen, obwohl sie auch auf andere Vorgänge angewendet werden kann. Die CreateBindCtx-Funktion initialisiert dieses Feld auf null.

Typische Fristen lassen einige hundert Millisekunden Ausführung zu. Diese Frist ist eine Empfehlung, keine Anforderung; Vorgänge, die ihre Frist um einen großen Betrag überschreiten, können jedoch zu Verzögerungen für den Endbenutzer führen. Jede Monikerimplementierung sollte versuchen, ihren Vorgang bis zum Stichtag abzuschließen, oder der Fehler MK_E_EXCEEDEDDEADLINE.

Wenn ein Bindungsvorgang seinen Stichtag überschreitet, weil ein oder mehrere Objekte, die er benötigt, nicht ausgeführt werden, sollte die Monikerimplementierung die im Bindungskontext zuständigen Objekte mithilfe von IBindCtx::RegisterObjectParam registrieren. Die Objekte sollten unter den Parameternamen "ExceededDeadline", "ExceededDeadline1", "ExceededDeadline2" usw. registriert werden. Wenn der Aufrufer das -Objekt später in der ausgeführten Objekttabelle findet, kann der Aufrufer den Bindungsvorgang wiederholen.

Die GetTickCount-Funktion gibt die Anzahl der Millisekunden seit dem Systemstart an und wird nach 2^31 Millisekunden wieder auf null umgebrochen. Daher sollten Aufrufer darauf achten, dass sie nicht versehentlich einen Nullwert übergeben (was keinen Stichtag angibt), und Monikerimplementierungen sollten sich über Probleme mit der Uhrumbruch bewusst sein.

Hinweise

Eine BIND_OPTS-Struktur wird in einem Bindungskontext gespeichert. Der gleiche Bindungskontext wird von jeder Komponente eines zusammengesetzten Monikers während der Bindung verwendet, sodass dieselben Parameter an alle Komponenten eines zusammengesetzten Monikers übergeben werden können. Weitere Informationen zu Bindungskontexten finden Sie unter IBindCtx .

Moniker-Clients (verwenden einen Moniker zum Abrufen eines Schnittstellenzeigers auf ein Objekt) müssen in der Regel keine Werte für die Member dieser Struktur angeben. Die CreateBindCtx-Funktion erstellt einen Bindungskontext mit den Bindungsoptionen, die auf Standardwerte festgelegt sind, die für die meisten Situationen geeignet sind. Die BindMoniker-Funktion führt dasselbe aus, wenn sie einen Bindungskontext für die Bindung eines Monikers erstellt. Wenn Sie die Werte dieser Bindungsoptionen ändern möchten, können Sie dazu eine BIND_OPTS-Struktur an die IBindCtx::SetBindOptions-Methode übergeben. Moniker-Implementierungen können eine BIND_OPTS-Struktur an die IBindCtx::GetBindOptions-Methode übergeben, um die Werte dieser Bindungsoptionen abzurufen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [Desktop-Apps | UWP-Apps]
Kopfzeile objidl.h

Weitere Informationen

CreateBindCtx

Ibindctx

Imoniker