|
|
/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Microsoft Windows
Copyright (C) Microsoft Corporation, 1995 - 1999.
File: Convert.h
Content: Declaration of convertion routines.
History: 11-15-99 dsie created
------------------------------------------------------------------------------*/
#ifndef __CONVERT_H_
#define __CONVERT_H_
#include "Debug.h"
/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Function : UnicodeToAnsi
Synopsis : Convert an array of unicode character to ANSI.
Parameter: LPWSTR pwszUnicodeString - Pointer to Unicode string to be converted to ANSI string.
int cchWideChar - Number of characters, or -1 if pwszUnicodeString is NULL terminated.
LPSTR * ppszAnsiString - Pointer to LPSTR to received the converted ANSI string.
int * pcchAnsiChar (Optional) - Pointer to int to receive the number of characters translated. Remark : Caller must call CoTaskMemFree to free the returned ANSI string.
------------------------------------------------------------------------------*/
HRESULT UnicodeToAnsi (LPWSTR pwszUnicodeString, int cchWideChar, LPSTR * ppszAnsiString, int * pcchAnsiChar);
/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Function : AnsiToUnicode
Synopsis : Convert a array of ANSI character to Unicode.
Parameter: LPSTR pszAnsiString - Pointer to ANSI string to be converted to ANSI string.
DWORD cchAnsiChar - Number of characters, or -1 if pszAnsiString is NULL terminated.
LPWSTR * ppwszUnicodeString - Pointer to LPWSTR to received the converted Unicode string.
DWORD * pcchUnicodeChar (Optional) - Pointer to DWORD to receive the number of characters translated. Remark : Caller must call CoTaskMemFree to free the returned Unicode string.
------------------------------------------------------------------------------*/
HRESULT AnsiToUnicode (LPSTR pszAnsiString, DWORD cchAnsiChar, LPWSTR * ppwszUnicodeString, DWORD * pcchUnicodeChar); /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Function : IntBlobToHexString
Synopsis : Convert an interger blob to hex string.
Parameter: BYTE byte - Byte to be converted. Remark :
------------------------------------------------------------------------------*/
HRESULT IntBlobToHexString (CRYPT_INTEGER_BLOB * pBlob, BSTR * pbstrHex);
/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Function : BinaryToHexString
Synopsis : Convert binary data to hex string.
Parameter: BYTE * pbBytes - Bytes to be converted.
DWORD cBytes - Number of bytes to be converted.
BSTR * pbstrHex - Pointer to BSTR to received converted hex string. Remark :
------------------------------------------------------------------------------*/
HRESULT BinaryToHexString (BYTE * pbBytes, DWORD cBytes, BSTR * pbstrHex);
/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Function : HexToBinaryString
Synopsis : Convert hex string to binary data.
Parameter: BSTR bstrHex - Hex string to be converted.
BSTR * pbstrBinary - Pointer to BSTR to received converted string. Remark :
------------------------------------------------------------------------------*/
HRESULT HexToBinaryString (BSTR bstrHex, BSTR * pbstrBinary);
/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Function : StringToBinary
Synopsis : Convert a formatted string to binary value.
Parameter: LPCWSTR pwszString - Pointer to string to be converted.
DWORD cchString - Number of characters in pwszString.
DWORD dwFormat - Conversion format (See WinCrypt.h).
PBYTE * ppbBinary - Pointer to pointer to buffer to hold binary data.
DWORD * pdwBinary - Number of bytes in the binary buffer.
Remark : Caller free the buffer by calling CoTaskMemFree().
------------------------------------------------------------------------------*/
HRESULT StringToBinary (LPCWSTR pwszString, DWORD cchString, DWORD dwFormat, PBYTE * ppbBinary, DWORD * pdwBinary);
/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Function : BinaryToString
Synopsis : Convert a binary value to formatted string.
Parameter: PBYTE pbBinary - Pointer to buffer of binary data.
DWORD cbBinary - Number of bytes in the binary buffer.
DWORD dwFormat - Conversion format (See WinCrypt.h).
BSTR * pbstrString - Pointer to BSTR to receive converted string.
DWORD * pcchString - Number of characters in *pbstrString. Remark : Caller free the string by calling SysFreeString().
------------------------------------------------------------------------------*/
HRESULT BinaryToString (PBYTE pbBinary, DWORD cbBinary, DWORD dwFormat, BSTR * pbstrString, DWORD * pcchString);
/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Function : BlobToBstr
Synopsis : Convert a blob to BSTR.
Parameter: DATA_BLOB * pDataBlob - Pointer to blob to be converted to BSTR.
BSTR * lpBstr - Pointer to BSTR to receive the converted BSTR.
Remark : Caller free allocated memory for the returned BSTR.
------------------------------------------------------------------------------*/
HRESULT BlobToBstr (DATA_BLOB * pDataBlob, BSTR * lpBstr);
/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Function : BstrToBlob
Synopsis : Convert a BSTR to blob.
Parameter: BSTR bstr - BSTR to be converted to blob. DATA_BLOB * lpBlob - Pointer to DATA_BLOB to receive converted blob.
Remark : Caller free allocated memory for the returned BLOB.
------------------------------------------------------------------------------*/
HRESULT BstrToBlob (BSTR bstr, DATA_BLOB * lpBlob);
/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Function : ExportData
Synopsis : Export binary data to a BSTR with specified encoding type.
Parameter: DATA_BLOB DataBlob - Binary data blob. CAPICOM_ENCODING_TYPE EncodingType - Encoding type.
BSTR * pbstrEncoded - Pointer to BSTR to receive the encoded data. Remark :
------------------------------------------------------------------------------*/
HRESULT ExportData (DATA_BLOB DataBlob, CAPICOM_ENCODING_TYPE EncodingType, BSTR * pbstrEncoded);
/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Function : ImportData
Synopsis : Import encoded data.
Parameter: BSTR bstrEncoded - BSTR containing the data to be imported.
CAPICOM_ENCODING_TYPE EncodingType - Encoding type. DATA_BLOB * pDataBlob - Pointer to DATA_BLOB to receive the decoded data. Remark : There is no need for encoding type parameter, as the encoding type will be determined automatically by this routine.
------------------------------------------------------------------------------*/
HRESULT ImportData (BSTR bstrEncoded, CAPICOM_ENCODING_TYPE EncodingType, DATA_BLOB * pDataBlob);
#endif //__CONVERT_H_
|