Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

142 lines
2.8 KiB

// dispatcher interface file
#ifndef _DISPIF_H_
#define _DISPIF_H_
#ifdef __cplusplus
extern "C" {
#endif
typedef
BOOL FIMPERSONATECLIENT(
PST_PROVIDER_HANDLE *hPSTProv
);
FIMPERSONATECLIENT FImpersonateClient;
typedef
BOOL FREVERTTOSELF(
PST_PROVIDER_HANDLE *hPSTProv
);
FREVERTTOSELF FRevertToSelf;
typedef
BOOL
FISACLSATISFIED(
PST_PROVIDER_HANDLE *hPSTProv,
PST_ACCESSRULESET *psRules,
DWORD dwAccess,
LPVOID // coming soon: fill a status structure with data about access attempt
);
FISACLSATISFIED FIsACLSatisfied;
typedef
BOOL FGETCALLERNAME(
PST_PROVIDER_HANDLE *hPSTProv,
LPWSTR* ppszCallerName,
DWORD_PTR *lpdwBaseAddress
);
FGETCALLERNAME FGetCallerName;
typedef
BOOL FGETUSER(
PST_PROVIDER_HANDLE *hPSTProv,
LPWSTR* pszUser
);
FGETUSER FGetUser;
typedef
BOOL FGETSERVERPARAM(
IN PST_PROVIDER_HANDLE *hPSTProv,
IN DWORD dwParam,
IN LPVOID pData,
IN OUT DWORD *pcbData
);
FGETSERVERPARAM FGetServerParam;
typedef
BOOL FSETSERVERPARAM(
IN PST_PROVIDER_HANDLE *hPSTProv,
IN DWORD dwParam,
IN LPVOID pData,
IN DWORD pcbData
);
FSETSERVERPARAM FSetServerParam;
// HACKHACK HACKHACK HACKHACK
typedef
BOOL FGETPASSWORD95LOWERCASE(
LPBYTE rgbPwd
);
FGETPASSWORD95LOWERCASE FGetPassword95LowerCase;
// a single structure to hold all of these callbacks
typedef struct _DISPIF_CALLBACKS
{
DWORD cbSize; // sizeof(DISPIF_CALLBACKS)
FISACLSATISFIED* pfnFIsACLSatisfied;
FGETUSER* pfnFGetUser;
FGETCALLERNAME* pfnFGetCallerName;
FIMPERSONATECLIENT* pfnFImpersonateClient;
FREVERTTOSELF* pfnFRevertToSelf;
FGETSERVERPARAM* pfnFGetServerParam;
FSETSERVERPARAM* pfnFSetServerParam;
} DISPIF_CALLBACKS, *PDISPIF_CALLBACKS;
//
// private interfaces in the server which are not exported for provider use
//
BOOL
FInternalCreateType(
PST_PROVIDER_HANDLE *phPSTProv,
PST_KEY KeyLocation,
const GUID *pguidType,
PPST_TYPEINFO pinfoType,
DWORD dwFlags
);
BOOL
FInternalCreateSubtype(
PST_PROVIDER_HANDLE *phPSTProv,
PST_KEY KeyLocation,
const GUID *pguidType,
const GUID *pguidSubtype,
PPST_TYPEINFO pinfoSubtype,
DWORD dwFlags
);
BOOL
FInternalWriteAccessRuleset(
PST_PROVIDER_HANDLE *phPSTProv,
PST_KEY KeyLocation,
const GUID *pguidType,
const GUID *pguidSubtype,
PPST_ACCESSRULESET psRules,
DWORD dwFlags
);
#ifdef __cplusplus
}
#endif
#endif // _DISPIF_H_