Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
A version of this page is also available for
4/8/2010

This function searches the list of installed functions for an encoding type and OID match. If a match is found, the DLL containing the function is, if necessary, loaded. If a match is found, a pointer to the function address and a pointer to the function handle are also returned. The reference count on the function handle is incremented.

Syntax

BOOL WINAPI CryptGetOIDFunctionAddress(
  HCRYPTOIDFUNCSET 
hFuncSet,
  DWORD 
dwEncodingType,
  LPCSTR 
pszOID,
  DWORD 
dwFlags,
  void** 
ppvFuncAddr,
  HCRYPTOIDFUNCADDR* 
phFuncAddr
);

Parameters

hFuncSet

[in] Handle previously obtained from a call to the CryptInitOIDFunctionSetfunction.

dwEncodingType

[in] Specifies the encoding type to be matched. Currently, only X509_ASN_ENCODING is used; however, additional encoding types may be added in the future.

pszOID

[in] Pointer to either an OID string such as 2.5.29.1 or an ASCII string such as file, if the high-order word of the OID is nonzero. If the high-order word of the OID is zero, the low-order word specifies the numeric identifier to be used as the object identifier. This resulting OID maps to the function that was either installed or registered with the same OID.

dwFlags

[in] Bitmask of flags. To search only the installed list of functions, set dwFlagsto CRYPT_GET_INSTALLED_OID_FUNC_FLAG.

ppvFuncAddr

[out] Pointer to a pointer to a function address. If a match is found, the ppvFuncAddrparameter points to the function address.

phFuncAddr

[out] Pointer to the function handle, if a match is found. The handle's reference count is incremented. The CryptFreeOIDFunctionAddressfunction must be called to free the handle.

By default, both the registered and installed function lists are searched. Set CRYPT_GET_INSTALLED_OID_FUNC_FLAG to search only the installed list of functions. This flag would be set by a registered function to get the address of a pre-installed function it was replacing. For example, the registered function might handle a new special case and call the pre-installed function to handle the remaining cases.

Return Value

If the function succeeds and a match is found, the return value is nonzero, or TRUE.

If no match is found, the function fails and the return value is zero, or FALSE.

For extended error information, call the GetLastErrorfunction.

Remarks

The desktop operating system supports the flag PKCS_7_ASN_ENCODING, but Windows Embedded CE does not and ignores the flag when it is specified.

Requirements

Header wincrypt.h
Library crypt32.lib
Windows Embedded CE Windows CE 3.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also