Freigeben über


NPLogonNotify-Funktion (npapi.h)

Hinweis

Diese API ist veraltet und wird in einer zukünftigen Version entfernt.

MPR ruft diese Funktion auf, um den Anmeldeinformations-Manager darüber zu benachrichtigen, dass ein Anmeldeereignis aufgetreten ist, sodass der Anmeldeinformations-Manager ein Anmeldeskript zurückgeben kann. Die NPLogonNotify-Funktion wird von einer DLL des Anmeldeinformations-Managers implementiert (siehe Hinweise).

Syntax

DWORD NPLogonNotify(
  [in]  PLUID   lpLogonId,
  [in]  LPCWSTR lpAuthentInfoType,
  [in]  LPVOID  lpAuthentInfo,
  [in]  LPCWSTR lpPreviousAuthentInfoType,
  [in]  LPVOID  lpPreviousAuthentInfo,
  [in]  LPWSTR  lpStationName,
  [in]  LPVOID  StationHandle,
  [out] LPWSTR  *lpLogonScript
);

Parameter

[in] lpLogonId

Zeiger auf den Bezeichner der Sitzung , die sich gerade angemeldet hat.

[in] lpAuthentInfoType

Zeiger auf eine Zeichenfolge, die den Typ der Struktur identifiziert, auf die von lpAuthentInfo verwiesen wird.

Wenn Microsoft der primäre Authentifikator ist, wird eine der folgenden Zeichenfolgen für interaktive Und Dienstcontrolleranmeldungen angegeben.

MSV1_0:Interactive
Kerberos:Interactive

[in] lpAuthentInfo

Zeiger auf eine Struktur, die die Anmeldeinformationen enthält, die zum erfolgreichen Protokollieren des Benutzers über den primären Authentifikator verwendet werden.

Wenn Microsoft der primäre AuthentifoType ist (d. h. wenn lpAuthentifoType "MSV1_0:Interactive" oder "Kerberos:Interactive" ist), wird die verwendete Struktur MSV1_0_INTERACTIVE_LOGON oder KERB_INTERACTIVE_LOGON.

[in] lpPreviousAuthentInfoType

Zeiger auf eine Zeichenfolge, die den Strukturtyp identifiziert, auf den von lpPreviousAuthentInfo verwiesen wird. Wenn der Zeiger NULL ist, gab es keine vorherigen Informationen. Die hier erwarteten Werte sind mit denen in lpAuthentInfoType identisch.

Wenn Microsoft der primäre Authentifikator ist, wird die folgende Zeichenfolge für interaktive Und Dienstcontrolleranmeldungen angegeben.

MSV1_0:Interactive

[in] lpPreviousAuthentInfo

Zeiger auf eine Struktur, die die Anmeldeinformationen enthält, die vor der Änderung der Authentifizierungsinformationen verwendet wurden. Vorherige Informationen werden bereitgestellt, wenn der Benutzer vor der Anmeldung gezwungen wurde, das Kennwort (oder andere Authentifizierungsinformationen) zu ändern. Wenn der Benutzer nicht gezwungen wurde, die Authentifizierungsinformationen zu ändern, lautet dieser Zeiger NULL. Die hier erwarteten Werte sind identisch mit denen in lpAuthentInfo.

Wenn Microsoft der primäre Authentifikator ist, wird die verwendete Struktur MSV1_0_INTERACTIVE_LOGON oder KERB_INTERACTIVE_LOGON.

[in] lpStationName

Zeiger auf eine Zeichenfolge, die den Namen der Station angibt, bei der sich der Benutzer angemeldet hat. Der Stationsname kann verwendet werden, um zu bestimmen, ob zusätzliche (anbieterspezifische) Informationen abgerufen werden können.

Wenn Microsoft der primäre Authentifikator ist, wird eine der folgenden Zeichenfolgen angegeben.

Wert Bedeutung
WinSta_0
Gibt an, dass dies eine interaktive Anmeldung über die Fensterstation ist. In diesem Fall ist StationHandle ein HWND für das übergeordnete Dialogfeld.
SvcCtl
Gibt an, dass es sich um eine vom Dienstcontroller initiierte Anmeldung handelt. StationHandle wird in diesem Fall nicht verwendet.

[in] StationHandle

Ein 32-Bit-Wert, dessen Bedeutung vom Namen (und folglich vom Typ) der station abhängig ist, die in lpStationName angegeben ist.

Wert Bedeutung
WinSta_0
Ein Handle für das Dialogfeld "Besitzer" (hwndOwner), das derzeit auf dem Bildschirm angezeigt wird.
SvcCtl
Zufällige Daten. Darf nicht verwendet werden.

[out] lpLogonScript

Zeiger auf eine Position, an der ein Zeiger auf eine null-beendete Zeichenfolge zurückgegeben werden kann.

Nach Abschluss der Funktion kann dieser Wert auf eine NULL-beendete Zeichenfolge verweisen, die den Namen eines auszuführenden Programms sowie alle vom Programm benötigten Parameter enthält. LocalAlloc sollte verwendet werden, um den Arbeitsspeicher für die zurückgegebene Zeichenfolge zuzuweisen. Dieser Arbeitsspeicher wird von MPR freigegeben, wenn er nicht mehr benötigt wird.

Rückgabewert

Wenn die Funktion erfolgreich ist, gibt die Funktion WN_SUCCESS zurück.

Wenn die Funktion fehlschlägt, gibt sie einen Fehlercode zurück, der einer der folgenden sein kann.

Rückgabecode Beschreibung
WN_NOT_SUPPORTED

NPLogonNotify wird vom Anmeldeinformations-Manager nicht unterstützt.

WN_NO_NETWORK
Das Netzwerk ist nicht vorhanden.
WN_FUNCTION_BUSY
Der Anmeldeinformations-Manager initialisiert weiterhin und kann nicht aufgerufen werden.

Hinweise

Die NPLogonNotify-Funktion wird von Anmeldeinformations-Managern implementiert, um Benachrichtigungen zu empfangen, wenn sich die Authentifizierungsinformationen ändern.

Jeder Anmeldeinformations-Manager darf eine einzelne Befehlszeilenzeichenfolge zurückgeben, die zum Ausführen eines Anmeldeskripts verwendet werden kann (die Implementierung sollte logonUser nicht aufrufen oder ein Benutzerprofil direkt laden). Der Puffer dieser Zeichenfolge wird vom Anmeldeinformations-Manager zugewiesen. MPR ist für die Freigabe verantwortlich. Die in lpLogonScript zurückgegebene Zeichenfolge sollte alle informationen enthalten, die zum Ausführen des Skripts als An CreateProcess übergebene Befehlszeile erforderlich sind.

Wenn die Zeichenfolge die Verarbeitung der Zeichenfolge durch den Befehlsprozessor erfordert, wie bei Befehlen oder Batchdateien, sollte der Zeichenfolge das Präfix cmd /C zugewiesen werden.

Anmeldeskripts werden im Benutzerkontext ausgeführt, wenn das Benutzerprofil verfügbar ist. Festgelegte Umgebungsvariablen sind jedoch nicht global und stehen nicht für die anfängliche Shell (z. B. Programm-Manager) oder andere Programme zur Verfügung, die im Auftrag des Benutzers ausgeführt werden.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile npapi.h

Weitere Informationen

CreateProcess

LocalAlloc

MSV1_0_INTERACTIVE_LOGON

NPGetCaps

NPPasswordChangeNotify