IPStore::ReadItem method

[Protected Storage (Pstore) is available for use in Windows Server 2003 and Windows XP. It is only available for read-only operations in Windows Server 2008 and Windows Vista, but may be unavailable in subsequent versions. Pstore uses an older implementation of data protection. Developers are strongly encouraged to take advantage of the stronger data protection provided by the CryptProtectData and CryptUnprotectData functions.]

Reads the specified data item from protected storage.

Syntax

HRESULT ReadItem(
  [in]       PST_KEY        Key,
  [in] const PSGUID         *pItemType,
  [in] const GUID           *pItemSubtype,
  [in]       LPCWSTR        *szItemName,
  [in]       DWORD          cbData,
  [in]       BYTE_RPC_FAR   *pbData,
  [in]       PPST_PROMPTIFO pPromptInfo,
  [in]       DWORD          dwFlags
);

Parameters

Key [in]

The provider storage area.

Value Meaning
PST_KEY_CURRENT_USER
0x00000000
The storage is maintained in the current user section of the registry.
PST_KEY_LOCAL_MACHINE
0x00000001
The storage is maintained in the local machine section of the registry.

 

pItemType [in]

A pointer to a GUID that identifies the data type of the item to read.

pItemSubtype [in]

A pointer to a GUID that identifies the data subtype of the item to read.

szItemName [in]

A pointer to a string that contains the name assigned to the stored data item.

cbData [in]

A DWORD that indicates the size of the buffer that contains the stored data item.

pbData [in]

A pointer to a buffer that contains the stored data item.

pPromptInfo [in]

A pointer to a PST_PROMPTINFO structure.

dwFlags [in]

Specifies user interface and security behaviors for the read operation.

The flag values can be combined with a logical OR.

Value Meaning
PST_UNRESTRICTED_ITEMDATA
0x00000004
Specifies that the data stream is nonsecure. By default, item calls are secure.
PST_PROMPT_QUERY
0x00000008
Specifies that the confirmation be returned upon success. If the user interface is enabled, a success of PST_E_OK is returned. If the user interface is not enabled, a value of PST_E_ITEM_EXISTS is returned.
PST_NO_UI_MIGRATION
0x00000010
Do not show user interface unless a custom password is required.

 

Return value

The return value is an HRESULT value. A value of PST_E_OK indicates the function was successful.

Remarks

If ReadItem completes successfully, the application is responsible for freeing the returned data buffer using the CoTaskMemFree function.

Requirements

Requirement Value
Header
Pstore.h
DLL
Pstorec.dll

See also

IPStore

PST_PROMPTINFO