summaryrefslogtreecommitdiffstats
path: root/private/inc/ofslib.h
blob: d6f62f6b4a0d3f71afd2d9cb0febc42145a288fd (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
//+---------------------------------------------------------------------------
//
//  Microsoft Windows
//  Copyright (C) Microsoft Corporation, 1992 - 1995.
//
//  File:	OfsLib.H
//
//  Contents:	Open support
//
//  History:	20-Oct-95   VicH		Created.
//
//----------------------------------------------------------------------------

#ifndef __OFSLIB_H__
#define __OFSLIB_H__

#ifdef __cplusplus
extern "C" {
#endif


struct DRTIMPORTENTRY
{
    char *pszFunc;
    FARPROC *ppfn;
};

struct DRTIMPORTMODULE
{
    WCHAR *pwszModule;
    HANDLE hDll;
    struct DRTIMPORTENTRY *adie;
    ULONG cdie;
};

BOOLEAN InitModule(struct DRTIMPORTMODULE *pdim);

NTSTATUS
OpenObject(
    IN WCHAR const *pwszFile,
    IN HANDLE hstgParent,
    IN ULONG CreateOptions,
    IN ULONG DesiredAccess,
    IN ULONG ShareAccess,
    IN ULONG CreateDisposition,
    OUT HANDLE *ph);

NTSTATUS
CreatePropertySet(
    IN HANDLE hstg,
    IN GUID const *pguid,
    IN USHORT Flags,
    IN NTMEMORYALLOCATOR pma,	// caller's memory allocator
    OPTIONAL OUT HANDLE *phstgps,
    OUT HANDLE *phstm,
    OUT NTMAPPEDSTREAM *pms,
    OUT NTPROP *pnp);

VOID
ClosePropertySet(
    OPTIONAL IN HANDLE *phstgps,
    IN HANDLE hstm,
    IN NTPROP ms,
    IN NTPROP np);


VOID SetProgramName(char *pszProg);

VOID SetVerbose(BOOLEAN fVerbose);

VOID SetUnicode(BOOLEAN fUnicode);

VOID SetDefaultPropSetAccess(ULONG DesiredAccess);

VOID SetUnicodeCallouts(VOID);

#ifdef __cplusplus
}
#endif

#endif // __OFSLIB_H__