ARCSetup

4/8/2010

This function is implemented by the Authentication Reset Component (ARC). It may perform any desired functionality to allow future Authentication Reset requests.

Syntax

HRESULT ARCSetup(
  HWND hWndParent,
  const BYTE* pbResetData,
  DWORD cbResetData,
  LPBYTE* ppbRequestData,
  LPDWORD pcbRequestData
);

Parameters

  • hWndParent
    [in] Handle to the parent window. Can be NULL.
  • pbResetData
    [in] Optional pointer to Reset Data. The meaning, size, and contents of the Reset Data are defined by the caller. The same data will be returned by a successful call to ARCRequest. Can be NULL.
  • cbResetData
    [in] Size in bytes of the buffer pointed to by pbResetData. If pbResetData is not NULL then this parameter cannot be 0. If pbResetData is NULL then this parameter is ignored.
  • ppbRequestData
    [out] Pointer to a BYTE array that receives the data to use during a call to ARCRequest. The meaning, size, and contents of the Request Data are defined by the Authentication Reset Component. The caller is responsible for storing this data securely and providing it in subsequents calls to ARCReqeust. The buffer for the BYTE array is allocated by this function. The caller is responsible to free this buffer using LocalFree.
  • pcbRequestData
    [out] Pointer to a variable that receives the size in bytes of the buffer pointed to by parameter ppbRequestData.

Annotated Function Declaration

HRESULT ARCSetup(__in_opt HWND hWndParent, __in_bcount_opt(cbResetData) const BYTE* pbResetData, DWORD cbResetData, __deref_out_bcount (*pcbRequestData) LPBYTE* ppbRequestData, __out LPDWORD pcbRequestData);

Return Value

Returns S_OK if setup steps were completed successfully, otherwise it could return one of the following error codes:

  • HRESULT(WAIT_TIMEOUT)
    The wait timeout has been exceeded.
  • E_ACCESSDENIED
    The caller is not trusted.
  • E_POINTER
    Invalid pointer. Either ppbRequestData is NULL or pcbRequestData is NULL. Valid pointers for these arguments are required.
  • E_INVALIDARG
    Invalid argument. pbResetData is not NULL and cbResetData is 0. This condition is not allowed.
  • E_ABORT
    The user canceled the process.
  • E_OUTOFMEMORY
    The device is out of memory.
  • E_FAIL
    Unspecified error.

Remarks

This function is called by the Shell in response to a request from a LAP to setup Authentication Reset. LAPs must not call this function directly, as they should instead use AuthResetRequest.

Buffers returned from this function must be allocated using LocalAlloc.

The Authentication Reset component may display user interface and may take any amount of time to complete this function. If user interface is displayed, the implementation must provide a way for the user to cancel or provide a mechanism to place emergency phone calls (on phone devices). All windows must have the WS_EX_ABOVESTARTUP exstyle set. If the user cancels, this function should return E_ABORT.

Note

This function is called by the Shell. Therefore, no link library is exposed.

Requirements

Header aygshell.h
Windows Mobile Windows Mobile 6 Classic and later, Windows Mobile 6 Professional and later, Windows Mobile 6 Standard and later
Note This function is called by the Shell. Therefore, no link library is exposed.

See Also

Reference

Authentication Reset System Functions
Authentication Reset System Reference

Concepts

Authentication Reset System