ISCardTypeConv::ConvertByteArrayToByteBuffer method

[The ConvertByteArrayToByteBuffer method is available for use in the operating systems specified in the Requirements section. It is not available for use in Windows Server 2003 with Service Pack 1 (SP1) and later, Windows Vista, Windows Server 2008, and subsequent versions of the operating system. The Smart Card Modules provide similar functionality.]

The ConvertByteArrayToByteBuffer method converts a typical C/C++ byte array into a universal buffer of bytes (IStream object).

The byte buffer created is a stream mapped over a memory block. To access or manage the buffer, use the methods provided by the IStream interface. A unique feature about this array implementation is that when you call the IStream::Release method, the underlying memory will be released for you.

Syntax

HRESULT ConvertByteArrayToByteBuffer(
  [in]  LPBYTE       pbyArray,
  [in]  DWORD        dwArraySize,
  [out] LPBYTEBUFFER *ppbyBuffer
);

Parameters

pbyArray [in]

Pointer to the array of bytes to be converted.

dwArraySize [in]

Size of the byte array to be converted.

ppbyBuffer [out]

Pointer to the IStream object to be returned.

Return value

The method returns one of the following possible values:

Return code Description
S_OK
Memory allocated successfully.
E_INVALIDARG
There is something wrong with one or more of the parameters passed into the function.
E_POINTER
A parameter of pointer type was incorrect.
E_OUTOFMEMORY
Not enough free memory to satisfy request.

 

Remarks

Memory allocated is movable. Use the IStream::Release method to free the memory.

Requirements

Requirement Value
Minimum supported client
Windows XP [desktop apps only]
Minimum supported server
Windows Server 2003 [desktop apps only]
End of client support
Windows XP
End of server support
Windows Server 2003
Header
Scarddat.h
Type library
Scarddat.tlb
DLL
Scardssp.dll
IID
IID_ISCardTypeConv is defined as 53B6AA63-3F56-11D0-916B-00AA00C18068

See also

ISCardTypeConv

Smart Card Return Values