다음을 통해 공유


NPLogonNotify 함수(npapi.h)

참고

이 API는 더 이상 사용되지 않으며 향후 릴리스에서 제거될 예정입니다.

MPR은 이 함수를 호출하여 자격 증명 관리자에게 로그온 이벤트가 발생했음을 알리고 자격 증명 관리자가 로그온 스크립트를 반환할 수 있도록 합니다. NPLogonNotify 함수는 자격 증명 관리자 DLL에 의해 구현됩니다(설명 참조).

구문

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
);

매개 변수

[in] lpLogonId

방금 로그온한 세션 의 식별자에 대한 포인터입니다.

[in] lpAuthentInfoType

lpAuthentInfo가 가리키는 구조체의 형식을 식별하는 문자열에 대한 포인터입니다.

Microsoft가 기본 인증자인 경우 대화형 및 서비스 컨트롤러 로그온에 대해 다음 문자열 중 하나가 지정됩니다.

MSV1_0:Interactive
Kerberos:Interactive

[in] lpAuthentInfo

기본 인증자를 통해 사용자를 성공적으로 로그온하는 데 사용되는 자격 증명이 포함된 구조체에 대한 포인터입니다.

Microsoft가 기본 인증자( 즉, lpAuthentifoType 이 "MSV1_0:Interactive" 또는 "Kerberos:Interactive"인 경우)인 경우 사용되는 구조는 MSV1_0_INTERACTIVE_LOGON 또는 KERB_INTERACTIVE_LOGON.

[in] lpPreviousAuthentInfoType

lpPreviousAuthentInfo가 가리키는 구조체의 형식을 식별하는 문자열에 대한 포인터입니다. 포인터가 NULL이면 이전 정보가 없습니다. 여기서 예상되는 값은 lpAuthentInfoType의 값과 동일합니다.

Microsoft가 기본 인증자인 경우 대화형 및 서비스 컨트롤러 로그온에 대해 다음 문자열이 지정됩니다.

MSV1_0:Interactive

[in] lpPreviousAuthentInfo

인증 정보가 변경되기 전에 사용되는 자격 증명을 포함하는 구조체에 대한 포인터입니다. 사용자가 로그온하기 전에 암호(또는 기타 인증 정보)를 변경해야 하는 경우 이전 정보가 제공됩니다. 사용자가 인증 정보를 강제로 변경하지 않은 경우 이 포인터는 NULL입니다. 여기서 예상되는 값은 lpAuthentInfo의 값과 동일합니다.

Microsoft가 기본 인증자인 경우 사용되는 구조는 MSV1_0_INTERACTIVE_LOGON 또는 KERB_INTERACTIVE_LOGON.

[in] lpStationName

사용자가 로그온한 스테이션의 이름을 지정하는 문자열에 대한 포인터입니다. 스테이션 이름을 사용하여 추가(공급자별) 정보를 가져올 수 있는지 여부를 확인할 수 있습니다.

Microsoft가 기본 인증자인 경우 다음 문자열 중 하나가 지정됩니다.

의미
WinSta_0
창 스테이션을 통한 대화형 로그온임을 나타냅니다. 이 경우 StationHandle 은 부모 대화 상자에 대한 HWND 입니다.
SvcCtl
서비스 컨트롤러에서 시작한 로그온임을 나타냅니다. 이 경우에는 StationHandle 이 사용되지 않습니다.

[in] StationHandle

의미가 lpStationName에 지정된 스테이션의 이름(및 결과적으로 형식)에 따라 달라지는 32비트 값입니다.

의미
WinSta_0
현재 화면에 표시되는 소유자 대화 상자(hwndOwner)에 대한 핸들입니다.
SvcCtl
임의 데이터. 사용하지 마십시오.

[out] lpLogonScript

null로 끝나는 문자열에 대한 포인터가 반환될 수 있는 위치에 대한 포인터입니다.

함수가 완료되면 이 값은 실행할 프로그램의 이름과 프로그램에 필요한 매개 변수가 포함된 null로 끝나는 문자열을 가리킬 수 있습니다. LocalAlloc 을 사용하여 반환된 문자열에 대한 메모리를 할당해야 합니다. 이 메모리는 더 이상 필요하지 않은 경우 MPR에서 해제됩니다.

반환 값

함수가 성공하면 함수는 WN_SUCCESS 반환합니다.

함수가 실패하면 다음 중 하나일 수 있는 오류 코드를 반환합니다.

반환 코드 설명
WN_NOT_SUPPORTED

NPLogonNotify 는 자격 증명 관리자에서 지원되지 않습니다.

WN_NO_NETWORK
네트워크가 없습니다.
WN_FUNCTION_BUSY
자격 증명 관리자가 아직 초기화 중이며 호출할 준비가 되지 않았습니다.

설명

NPLogonNotify 함수는 인증 정보가 변경될 때 알림을 수신하기 위해 자격 증명 관리자에 의해 구현됩니다.

각 자격 증명 관리자는 로그온 스크립트를 실행하는 데 사용할 수 있는 단일 명령줄 문자열을 반환할 수 있습니다(구현에서 LogonUser 를 호출하거나 사용자 프로필을 직접 로드해서는 안 됨). 이 문자열의 버퍼는 자격 증명 관리자에 의해 할당됩니다. MPR은 이를 해제할 책임이 있습니다. lpLogonScript에서 반환된 문자열에는 CreateProcess에 전달된 명령줄로 스크립트를 실행하는 데 필요한 모든 정보가 포함되어야 합니다.

명령 또는 일괄 처리 파일의 경우처럼 문자열에 명령 프로세서가 문자열을 처리해야 하는 경우 문자열에 cmd /C 접두사를 지정해야 합니다.

로그온 스크립트는 사용자 프로필을 사용할 수 있을 때 사용자 컨텍스트에서 실행됩니다. 그러나 설정된 환경 변수는 전역 변수가 아니며 초기 셸(예: 프로그램 관리자) 또는 사용자를 대신하여 실행되는 다른 프로그램에서는 사용할 수 없습니다.

요구 사항

   
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 npapi.h

추가 정보

CreateProcess

LocalAlloc

MSV1_0_INTERACTIVE_LOGON

NPGetCaps

NPPasswordChangeNotify