다음을 통해 공유


ITpmVirtualSmartCardManager::CreateVirtualSmartCard 메서드(tpmvscmgr.h)

지정된 매개 변수를 사용하여 TPM 가상 스마트 카드 만듭니다.

구문

HRESULT CreateVirtualSmartCard(
  [in]           LPCWSTR                                   pszFriendlyName,
  [in]           BYTE                                      bAdminAlgId,
  [in]           const BYTE                                *pbAdminKey,
  [in]           DWORD                                     cbAdminKey,
  [in, optional] const BYTE                                *pbAdminKcv,
  [in]           DWORD                                     cbAdminKcv,
  [in, optional] const BYTE                                *pbPuk,
  [in]           DWORD                                     cbPuk,
  [in]           const BYTE                                *pbPin,
  [in]           DWORD                                     cbPin,
  [in]           BOOL                                      fGenerate,
  [in, optional] ITpmVirtualSmartCardManagerStatusCallback *pStatusCallback,
  [out]          LPWSTR                                    *ppszInstanceId,
  [out]          BOOL                                      *pfNeedReboot
);

매개 변수

[in] pszFriendlyName

스마트 카드 판독기 노드의 표시 이름입니다. 이 이름은 장치 관리자 표시되지만 스마트 카드 리소스 관리자(SCRM)에서 볼 수 있는 판독기 이름은 아닙니다.

[in] bAdminAlgId

관리 키의 알고리즘 식별자입니다. 현재 받은 편지함 GIDS 미니드라이버를 사용하려면 이 값이 VSC_DEFAULT_ADMIN_ALGORITHM_ID(CBC 체인 모드에서 ISO/IEC 9797 패딩 메서드 2를 사용하는 3키 트리플 DES)여야 합니다.

[in] pbAdminKey

만들 가상 스마트 카드 관리 키가 포함된 바이트 배열에 대한 포인터입니다.

[in] cbAdminKey

pbAdminKey 매개 변수가 가리키는 바이트 배열의 크기(바이트)입니다.

[in, optional] pbAdminKcv

관리자 키의 키 검사 값이 포함된 바이트 배열에 대한 포인터입니다. 키 검사 값은 관리자 키를 사용하여 0 블록을 암호화할 때 출력 BLOB의 처음 3바이트로 정의됩니다. 키 검사 값이 제공되지 않으면 관리 키에 대한 무결성 검사 없습니다.

[in] cbAdminKcv

pbAdminKcv 매개 변수가 가리키는 바이트 배열의 크기(바이트)입니다.

[in, optional] pbPuk

가상 스마트 카드 PUK(PIN 잠금 해제 키) 값이 포함된 바이트 배열에 대한 포인터입니다. 일반적으로 최소 길이가 8자인 ASCII 문자 시퀀스입니다. PUK가 제공되지 않으면 가상 스마트 카드 PUK 역할 없이 만들어지고 대신 관리자 역할을 통해 챌린지/응답 기반 PIN 재설정을 사용합니다.

[in] cbPuk

pbPuk 매개 변수가 가리키는 바이트 배열의 크기(바이트)입니다.

[in] pbPin

가상 스마트 카드 PIN 값이 포함된 바이트 배열에 대한 포인터입니다. 일반적으로 길이가 최소 8자이고 최대 127자의 ASCII 문자 시퀀스입니다.

[in] cbPin

pbPin 매개 변수가 가리키는 바이트 배열의 크기(바이트)입니다.

[in] fGenerate

기본 CSP 및 스마트 카드 KSP에 필요한 모든 필수 파일로 가상 스마트 카드 프로비전해야 하는지 여부를 나타냅니다.

[in, optional] pStatusCallback

ITpmVirtualSmartCardManagerStatusCallback 인터페이스에 대한 포인터입니다. TPM 가상 스마트 카드 관리자는 이 콜백 인터페이스를 사용하여 가상 스마트 카드 만드는 동안 진행률 또는 오류를 전달합니다. pStatusCallback 매개 변수가 NULL인 경우 작업이 완료되기 전에 클라이언트에 진행률이 보고되지 않습니다.

[out] ppszInstanceId

생성된 가상 스마트 카드 instance ID를 수신하기 위한 유니코드 버퍼에 대한 포인터입니다.

[out] pfNeedReboot

요청된 작업이 컴퓨터를 다시 부팅해야 하는지 여부를 수신하는 부울 값에 대한 포인터입니다.

반환 값

메서드가 성공하면 S_OK 반환합니다.

메서드가 실패하면 Win32 오류 코드가 반환됩니다.

설명

메서드가 성공하면 ppszInstanceId 매개 변수는 새로 만든 TPM 가상 스마트 카드 판독기의 instance 식별자가 포함된 유니코드 버퍼를 가리킵니다. 버퍼 사용을 마치면 호출자는 COM 메모리 관리 규칙의 지시에 따라 CoTaskMemFree 함수를 호출하여 클라이언트에서 버퍼를 해제해야 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 8 [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2012 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 tpmvscmgr.h
라이브러리 Vscmgr.lib

추가 정보

ITpmVirtualSmartCardManager