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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
|
/*++
Copyright (c) 1994 Microsoft Corporation
Module Name:
getaddr.c
Abstract:
This module contains the code to support NPGetAddressByName.
Author:
Yi-Hsin Sung (yihsins) 18-Apr-94
Glenn A. Curtis (glennc) 18-Jul-95
Revision History:
yihsins Created
glennc Modified 18-Jul-95
--*/
#ifndef QFE_BUILD
#include <nw.h>
#include <winsock.h>
#include <wsipx.h>
#include <nspapi.h>
#include <nspapip.h>
#include <wsnwlink.h>
#include <svcguid.h>
#include <nwsap.h>
#include <align.h>
#include <nwmisc.h>
#define WSOCK_VER_REQD 0x0101
DWORD
NwrGetService(
IN LPWSTR Reserved,
IN WORD nSapType,
IN LPWSTR lpServiceName,
IN DWORD dwProperties,
OUT LPBYTE lpServiceInfo,
IN DWORD dwBufferLength,
OUT LPDWORD lpdwBytesNeeded
)
/*++
Routine Description:
This routine calls NwGetService to, in turn, get the service info.
Arguments:
Reserved - unused
nSapType - SAP type
lpServiceName - service name
dwProperties - specifys the properties of the service info needed
lpServiceInfo - on output, contains the SERVICE_INFO
dwBufferLength - size of buffer pointed by lpServiceInfo
lpdwBytesNeeded - if the buffer pointed by lpServiceInfo is not large
enough, this will contain the bytes needed on output
Return Value:
Win32 error.
--*/
{
return NwGetService( Reserved,
nSapType,
lpServiceName,
dwProperties,
lpServiceInfo,
dwBufferLength,
lpdwBytesNeeded );
}
DWORD
NwrSetService(
IN LPWSTR Reserved,
IN DWORD dwOperation,
IN LPSERVICE_INFO lpServiceInfo,
IN WORD nSapType
)
/*++
Routine Description:
This routine registers or deregisters the service info.
Arguments:
Reserved - unused
dwOperation - SERVICE_REGISTER or SERVICE_DEREGISTER
lpServiceInfo - contains the service information
nSapType - SAP type
Return Value:
Win32 error.
--*/
{
DWORD err = NO_ERROR;
UNREFERENCED_PARAMETER( Reserved );
//
// Check if all parameters passed in are valid
//
if ( wcslen( lpServiceInfo->lpServiceName ) > SAP_OBJECT_NAME_MAX_LENGTH-1 )
{
return ERROR_INVALID_PARAMETER;
}
switch ( dwOperation )
{
case SERVICE_REGISTER:
err = NwRegisterService( lpServiceInfo, nSapType, NwDoneEvent );
break;
case SERVICE_DEREGISTER:
err = NwDeregisterService( lpServiceInfo, nSapType );
break;
default:
err = ERROR_INVALID_PARAMETER;
break;
}
return err;
}
#endif
|