windows-nt/Source/XPSP1/NT/inetcore/digest/persist.hxx
2020-09-26 16:20:57 +08:00

81 lines
2.1 KiB
C++

/*++
Copyright (c) 1998 Microsoft Corporation
Module Name:
persist.h
Abstract:
Author:
Adriaan Canter (adriaanc) 13-Jan-1998
Revision History:
13-Jan-1998 adriaanc
Created
01-Aug-1998 adriaanc
revised for digest.
--*/
#ifndef PERSIST_HXX
#define PERSIST_HXX
#include <pstore.h>
#define INTERNET_SETTINGS_KEY "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Internet Settings"
#define DISABLE_PASSWORD_CACHE_VALUE "DisablePasswordCaching"
#define CRED_PERSIST_NOT_AVAIL 0
#define CRED_PERSIST_AVAIL 1
#define CRED_PERSIST_UNKNOWN 2
#define MAX_FIELD_LENGTH 64
// PWL related defines.
// Password-cache-entry, this should be in PCACHE.
#define PCE_WWW_BASIC 0x13
#define MAX_AUTH_FIELD_LENGTH MAX_FIELD_LENGTH * 2
#define WNETDLL_MODULE "mpr.dll"
#define PSTORE_MODULE "pstorec.dll"
#define WNETGETCACHEDPASS "WNetGetCachedPassword"
#define WNETCACHEPASS "WNetCachePassword"
#define WNETREMOVECACHEDPASS "WNetRemoveCachedPassword"
// MPR.DLL exports used by top level API.
typedef DWORD (APIENTRY *PFWNETGETCACHEDPASSWORD) (LPSTR, WORD, LPSTR, LPWORD, BYTE);
typedef DWORD (APIENTRY *PFWNETCACHEPASSWORD) (LPSTR, WORD, LPSTR, WORD, BYTE, UINT);
typedef DWORD (APIENTRY *PFWNETREMOVECACHEDPASSWORD) (LPSTR, WORD, BYTE);
// ----------------Public function prototypes----------------------
// Determines availability of credential cache.
DWORD InetInitCredentialPersist();
// Persist credentials (username/password).
DWORD InetSetCachedCredentials (LPSTR szCtx,
LPSTR szRealm,
LPSTR szUser,
LPSTR szPass);
// Get persisted credentials (username/password).
DWORD InetGetCachedCredentials (LPSTR szCtx,
LPSTR szRealm,
LPSTR szUser,
LPSTR szPass);
// Remove persisted credentials (username/password).
DWORD InetRemoveCachedCredentials (LPSTR szCtx, LPSTR szRealm);
#endif //PERSIST_HXX