PFN_CSP_PAD_DATA Function Pointer

The PFN_CSP_PAD_DATA function pads a data buffer for use in a cryptographic operation when the smart card itself does not perform data padding.


  __in   PCARD_SIGNING_INFO pSigningInfo,
  __in   DWORD cbMaxWidth,
  __out  DWORD *pcbPaddedBuffer,
  __out  PBYTE *ppbPaddedBuffer


  • pSigningInfo [in]
    A pointer to the CARD_SIGNING_INFO structure that specifies the data to pad and the hashing algorithm used to sign the data.

  • cbMaxWidth [in]
    The maximum size, in bytes, of the padded buffer.

  • pcbPaddedBuffer [out]
    A pointer to a DWORD value that specifies the size, in bytes, of the ppbPaddedBuffer array.

  • ppbPaddedBuffer [out]
    The address of a pointer to an array of byte values that, on output, contains the padded data. When you are finished using the ppbPaddedBuffer array, free it by calling the PFN_CSP_FREE function.

Return Value

If the function succeeds, the function returns zero.

If the function fails, it returns a nonzero error value.


Currently, only PKCS#1 version 1.1 padding is supported.


Minimum supported client Windows XP, Windows 2000 Professional with SP4
Minimum supported server Windows Server 2003, Windows 2000 Server with SP4
Header Cardmod.h

See Also

Microsoft Base Smart Card Cryptographic Service Provider

Send comments about this topic to Microsoft

Build date: 3/5/2009