IAzClientContext::AccessCheck-Methode (azroles.h)

Die AccessCheck-Methode bestimmt, ob der aktuelle Clientkontext die angegebenen Vorgänge ausführen darf.

Syntax

HRESULT AccessCheck(
  [in]           BSTR    bstrObjectName,
  [in]           VARIANT varScopeNames,
  [in]           VARIANT varOperations,
  [in, optional] VARIANT varParameterNames,
  [in, optional] VARIANT varParameterValues,
  [in, optional] VARIANT varInterfaceNames,
  [in, optional] VARIANT varInterfaceFlags,
  [in, optional] VARIANT varInterfaces,
  [out]          VARIANT *pvarResults
);

Parameter

[in] bstrObjectName

Der Name des Objekts, auf das zugegriffen wird. Diese Zeichenfolge wird in Überwachungen verwendet.

[in] varScopeNames

Eine Variante, die entweder ein SAFEARRAY - oder das JScript-Array-Objekt enthält. Jedes Element des Arrays enthält eine VT_BSTR , die den Namen eines Bereichs enthält, dem das durch den bstrObjectName-Parameter angegebene Objekt entspricht. Das Array darf nur ein Element enthalten. Um den Standardbereich auf Anwendungsebene zu verwenden, legen Sie den ersten Eintrag im Array auf eine leere Zeichenfolge ("") oder VT_EMPTY fest, oder übergeben Sie VT_EMPTY an diesen Parameter.

[in] varOperations

Die Vorgänge, für die der Zugriff durch den Clientkontext überprüft wird. Dies ist eine Variante, die entweder ein SAFEARRAY - oder das JScript-Array-Objekt enthält. Jedes Element des Arrays enthält eine VT_I2 oder VT_I4 , die die OperationID-Eigenschaft eines IAzOperation-Objekts in der IAzApplication-Richtlinie darstellt.

[in, optional] varParameterNames

Die Namen der Parameter, die für Geschäftsregeln (BizRules) über die AzBizRuleContext::GetParameter-Methode verfügbar sind. Dies ist eine Variante, die entweder ein SAFEARRAY - oder das JScript-Array-Objekt enthält. Jedes Element des Arrays enthält eine VT_BSTR , die einen Parameternamen enthält. Dieses Array muss vom Aufrufer alphabetisch sortiert werden. Die Sortierreihenfolge wird durch varCmp definiert, bei dem die Groß-/Kleinschreibung beachtet wird. Die Reihenfolge des varParameterValues-Arrays muss mit der Reihenfolge dieses Arrays übereinstimmen. Der Standardwert ist VT_NULL.

[in, optional] varParameterValues

Die Werte der Parameter, die für Geschäftsregeln (BizRules) über die AzBizRuleContext::GetParameter-Methode verfügbar sind. Dies ist eine Variante, die entweder ein SAFEARRAY - oder das JScript-Array-Objekt enthält. Jedes Element des Arrays enthält einen Wert, der einem Element im varParameterNames-Array entspricht. Der Standardwert ist VT_NULL. Die Einträge im Array können einen beliebigen Typ außer VT_UNKNOWN und VT_DISPATCH enthalten.

[in, optional] varInterfaceNames

Die Namen, mit denen die Schnittstellen im varInterfaces-Array in einem BizRule-Skript bekannt sind. Dies ist eine Variante, die entweder ein SAFEARRAY - oder das JScript-Array-Objekt enthält. Jedes Element des Arrays enthält eine Zeichenfolgenvariante, die einen Schnittstellennamen enthält. Diese Methode ruft die IActiveScript::AddNamedItem-Methode für jeden Eintrag im Array auf. Der Standardwert ist VT_NULL.

[in, optional] varInterfaceFlags

Flags, die beim Aufruf von IActiveScript::AddNamedItem übergeben werden. Dies ist eine Variante, die entweder ein SAFEARRAY - oder das JScript-Array-Objekt enthält. Jedes Element des Arrays enthält eine VT_I4. Die SCRIPTITEM_ISVISIBLE-Kennzeichnung ist impliziert; das flag SCRIPTITEM_ISPERSISTENT wird ignoriert. Jeder Eintrag im Array muss mit dem entsprechenden Element im Array varInterfaceNames übereinstimmen. Der Standardwert ist VT_NULL.

[in, optional] varInterfaces

Die IDispatch-Schnittstellen , die dem BizRule-Skript zur Verfügung gestellt werden. Dies ist eine Variante, die entweder ein SAFEARRAY - oder das JScript-Array-Objekt enthält. Jedes Element des Arrays enthält eine IDispatch-Schnittstelle . Jeder Eintrag im Array muss mit dem entsprechenden Element im Array varInterfaceNames übereinstimmen. Der Standardwert ist VT_NULL.

[out] pvarResults

Ein Zeiger auf einen VARIANT-Wert , der verwendet wird, um ein SAFEARRAY zurückzugeben, das die Ergebnisse der Zugriffsprüfung enthält. Jedes Element des SAFEARRAY ist ein VARIANT vom Typ VT_I4. Jeder Eintrag im Array stimmt mit dem entsprechenden Element im VarOperations-Array überein. Wenn dem Clientkontext Zugriff auf einen Vorgang gewährt wird, wird im entsprechenden Element im pvarResults-Array der Wert NO_ERROR zurückgegeben. Jeder andere Wert gibt an, dass der Zugriff auf diesen Vorgang nicht gewährt wird. Ein typischer Wert, der angibt, dass fehler ERROR_ACCESS_DENIED ist.

In JScript muss das zurückgegebene SAFEARRAY in das JScript-Array-Objekt konvertiert werden.

Rückgabewert

Wenn die Methode erfolgreich ist, gibt die Methode NO_ERROR zurück.

Wenn die Methode fehlschlägt, wird ein HRESULT-Wert zurückgegeben, der die status der Methode und nicht das Ergebnis der Zugriffsprüfung angibt. Mögliches Werte (aber nicht die Einzigen) sind die in der folgenden Tabelle. Eine Liste allgemeiner Fehlercodes finden Sie unter Allgemeine HRESULT-Werte.

Rückgabecode/-wert BESCHREIBUNG
ERROR_FILE_CORRUPT
Dieser Fehlercode kann zurückgegeben werden, wenn ein Active Directory-Autorisierungsspeicher verwendet wird und die Verwaltung des Bereichs delegiert wurde. Die Aufgaben- und Rollendefinitionen innerhalb eines delegierten Bereichs können keine BizRules aufweisen. Wenn eine Aufgaben- oder Rollendefinition in einem delegierten Bereich einen BizRule enthält (dies ist möglich, wenn der Speicher beschädigt ist), schlägt die AccessCheck-Methode fehl.
OLESCRIPT_E_SYNTAX
Die Zum Auswerten des Zugriffs verwendete BizRule enthält einen Syntaxfehler.

Hinweise

Wenn die RoleForAccessCheck-Eigenschaft im Clientkontext definiert ist, wird die AccessCheck-Methode nur für diese Rolle ausgeführt.

Wenn diese Methode aufgerufen wird, wird die Anwendungsgruppenmitgliedschaft dem Clientkontext hinzugefügt, sodass sie nicht für nachfolgende Zugriffsprüfungen im gleichen Clientkontext neu berechnet werden muss.

Diese Methode kann nicht von bizRule aufgerufen werden.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile azroles.h
Bibliothek Azroles.lib
DLL Azroles.dll
Verteilbare Komponente Windows Server 2003 Administration Tools Pack unter Windows XP