WinTrustProviderClientInitialize

[New - Windows NT]

The WinTrustProviderClientInitialize function is an initialization function that WinTrust calls when it loads the client component of a trust provider DLL. Each trust provider must export a WinTrustProviderClientInitialize function.

BOOL WinTrustProviderClientInitialize(

DWORD dwWinTrustRevision, // WinTrust revision level
LPWINTRUST_CLIENT_TP_INFO lpWinTrustInfo, // pointer to information about WinTrust
LPWSTR lpProviderName, // administrator-assigned name of the trust provider
LPWINTRUST_PROVIDER_CLIENT_INFO *lpTrustProviderInfo // receives information about the trust provider
);  

Parameters

dwWinTrustRevision

Indicates the revision level of the WinTrust component that calls this function. WinTrust sets this value to WIN_TRUST_REVISION_1_0.

lpWinTrustInfo

Pointer to a WINTRUST_CLIENT_TP_INFO structure that contains information that WinTrust passes to the trust provider. This structure includes a dispatch table of functions implemented by WinTrust for use by the client component of a trust provider.

The information in this buffer is read-only. It is valid until the trust provider DLL is unloaded. The trust provider can reference the information rather than copy it.

lpProviderName

Pointer to a null-terminated Unicode string that contains the trust provider name. The system administrator assigned this name to the registry key that stores configuration information for the trust provider. The pointer is read-only and valid until the trust provider DLL is unloaded. The trust provider can reference the information rather than copy it.

lpTrustProviderInfo

Pointer to a variable that receives a pointer to a buffer allocated by the trust provider. The buffer contains a WINTRUST_PROVIDER_CLIENT_INFO structure with information about the trust provider. The information includes the revision level of the trust provider, a dispatch table, and an array of GUIDs that identify the action identifiers that the trust provider supports. WinTrust treats the buffer as read-only, and continues to reference this buffer until it unloads the trust provider DLL. The trust provider must not change the information in the buffer, or deallocate the memory before it is unloaded; doing so could corrupt the system.

Return Values

If the function succeeds, the return value is a nonzero value.

If the function fails, the return value is zero. To get extended error information, call GetLastError.

Remarks

When WinTrust loads a trust provider, it calls the trust provider's WinTrustProviderClientInitialize function. This gives the trust provider an opportunity to initialize itself, and to exchange information between WinTrust and the trust provider.

The LPWINTRUST_PROVIDER_CLIENT_INITIALIZE type is a pointer to a WinTrustProviderClientInitialize function.

See Also

WINTRUST_CLIENT_TP_INFO, WINTRUST_PROVIDER_CLIENT_INFO