다음을 통해 공유


CreateWindowStationA 함수(winuser.h)

창 스테이션 개체를 만들고 호출 프로세스와 연결한 다음 현재 세션에 할당합니다.

구문

HWINSTA CreateWindowStationA(
  [in, optional] LPCSTR                lpwinsta,
                 DWORD                 dwFlags,
  [in]           ACCESS_MASK           dwDesiredAccess,
  [in, optional] LPSECURITY_ATTRIBUTES lpsa
);

매개 변수

[in, optional] lpwinsta

만들 창 스테이션의 이름입니다. 창 스테이션 이름은 대/소문자를 구분하지 않으며 백슬래시 문자(\)를 포함할 수 없습니다. Administrators 그룹의 구성원만 이름을 지정할 수 있습니다. lpwinstaNULL이거나 빈 문자열인 경우 시스템은 호출 프로세스에 대한 로그온 세션 식별자를 사용하여 창 스테이션 이름을 형성합니다. 이 이름을 얻으려면 GetUserObjectInformation 함수를 호출합니다.

dwFlags

이 매개 변수가 CWF_CREATE_ONLY 창 스테이션이 이미 있는 경우 호출이 실패합니다. 이 플래그를 지정하지 않고 창 스테이션이 이미 있는 경우 함수가 성공하고 기존 창 스테이션에 새 핸들을 반환합니다.

Windows XP/2000: 이 매개 변수는 예약되어 있으며 0이어야 합니다.

[in] dwDesiredAccess

반환된 핸들이 창 스테이션에 액세스하는 형식입니다. 또한 READ_CONTROL 또는 WRITE_DAC 같은 표준 액세스 권한과 창 스테이션별 액세스 권한의 조합을 지정할 수 있습니다. 자세한 내용은 Window Station 보안 및 액세스 권한을 참조하세요.

[in, optional] lpsa

반환된 핸들을 자식 프로세스에서 상속할 수 있는지 여부를 결정하는 SECURITY_ATTRIBUTES 구조체에 대한 포인터입니다. lpsaNULL이면 핸들을 상속할 수 없습니다.

구조체의 lpSecurityDescriptor 멤버는 새 창 스테이션에 대한 보안 설명자를 지정합니다. lpsaNULL인 경우 창 스테이션(및 창 내에서 만든 데스크톱)은 모든 사용자에게 GENERIC_ALL 액세스 권한을 부여하는 보안 설명자를 가져옵니다.

반환 값

함수가 성공하면 반환 값은 새로 만든 창 스테이션에 대한 핸들입니다. 지정된 창 스테이션이 이미 있는 경우 함수가 성공하고 기존 창 스테이션에 대한 핸들을 반환합니다.

함수가 실패하면 반환 값은 NULL입니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다.

설명

핸들을 완료한 후에는 CloseWindowStation 을 호출하여 핸들을 해제해야 합니다.

참고

winuser.h 헤더는 CREATEWindowStation을 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.

요구 사항

   
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 winuser.h(Windows.h 포함)
라이브러리 User32.lib
DLL User32.dll
API 세트 ext-ms-win-ntuser-windowstation-l1-1-0(Windows 8에 도입됨)

추가 정보

CloseWindowStation

GetUserObjectInformation

OpenWindowStation

창 스테이션 및 데스크톱 함수

창 스테이션