다음을 통해 공유


PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_INITIALIZE 콜백 함수(wincrypt.h)

PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_INITIALIZE 함수는 공급자를 초기화합니다. 사용자 지정 공급자의 일부로 이 함수를 구현해야 합니다.

구문

PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_INITIALIZE PfnCryptObjectLocatorProviderInitialize;

BOOL PfnCryptObjectLocatorProviderInitialize(
  [in]  PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FLUSH pfnFlush,
  [in]  LPVOID pContext,
  [out] DWORD *pdwExpectedObjectCount,
  [out] PCRYPT_OBJECT_LOCATOR_PROVIDER_TABLE *ppFuncTable,
  [out] void **ppPluginContext
)
{...}

매개 변수

[in] pfnFlush

PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FLUSH 함수 구현에 대한 포인터입니다.

[in] pContext

공급자 및 개체에 대한 정보를 포함하는 공급자 정의 개체에 대한 포인터입니다.

[out] pdwExpectedObjectCount

공급자가 찾을 것으로 예상되는 고유 개체의 수를 지정합니다. 이 값은 호출자에게 개체 저장을 위해 할당할 메모리 양을 알려줍니다. 10,000개 개체의 기본값을 지정하려면 이 값을 0으로 설정합니다.

[out] ppFuncTable

공급자가 구현한 함수에 대한 포인터를 포함하는 CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE 구조체입니다. 테이블의 포인터가 NULL일 수 없습니다. 호출자는 이 구조를 해제하지 않습니다. 공급자는 힙에 할당되지 않은 테이블을 반환할 것으로 예상됩니다.

[out] ppPluginContext

이 공급자가 정의한 선택적 버퍼에 대한 포인터입니다. 버퍼는 호출자에 의해 수정되지 않습니다. 공급자는 데이터를 사용하여 수행할 작업을 결정하거나 추가 정보를 유지 관리할 수 있습니다. 이 값은 NULL로 설정할 수 있습니다.

반환 값

함수가 성공하면 0이 아닌 값(TRUE)을 반환합니다.

함수가 실패하면 0(FALSE)을 반환하고 SetLastError 함수에 적절한 오류를 지정합니다. 대부분의 오류는 Schannel을 통해 변경되지 않고 전달되지만 이 동작은 보장되지 않습니다. 일부 오류는 다른 오류에 매핑될 수 있습니다.

설명

PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_INITIALIZE 함수는 현재 SSP(보안 채널) 보안 서비스 공급자만 호출합니다. CAPI(Cryptography API)는 Windows 8 시작하여 AcquireCredentialsHandle 함수의 pszPrincipal 매개 변수에 보안 주체의 이름을 지정하는 경우 사용자 지정 공급자를 내부적으로 호출합니다.

이 함수를 구현할 때 는 공급자 가 구현한 다음 함수에 대한 포인터로 CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE 함수 테이블을 채워야 합니다.

Windows 레지스트리에 공급자를 등록하려면 CryptRegisterDefaultOIDFunction 을 호출해야 합니다.

요구 사항

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

추가 정보

CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE

PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FLUSH