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.
354 lines
6.5 KiB
354 lines
6.5 KiB
/*++
|
|
|
|
|
|
Intel Corporation Proprietary Information
|
|
Copyright (c) 1995 Intel Corporation
|
|
|
|
This listing is supplied under the terms of a license agreement with
|
|
Intel Corporation and may not be used, copied, nor disclosed except in
|
|
accordance with the terms of that agreeement.
|
|
|
|
|
|
Module Name:
|
|
|
|
nsstate.h
|
|
|
|
Abstract:
|
|
|
|
This module gives the class definition for the NSPROVIDERSTATE object
|
|
type. The NSPROVIDERSTATE object holds the pointer to the provider object
|
|
and the handle for a WSALookup{Begin/Next/End} series.
|
|
|
|
Author:
|
|
|
|
Dirk Brandewie ([email protected]) 04-12-1995
|
|
|
|
Notes:
|
|
|
|
$Revision: 1.10 $
|
|
|
|
$Modtime: 15 Feb 1996 16:50:42 $
|
|
|
|
|
|
Revision History:
|
|
|
|
04-Dec-1995 [email protected]
|
|
created
|
|
|
|
--*/
|
|
|
|
#ifndef _NSPROVIDERSTATE_
|
|
#define _NSPROVIDERSTATE_
|
|
|
|
#include "classfwd.h"
|
|
#include "nsprovid.h"
|
|
|
|
class NSPROVIDERSTATE
|
|
{
|
|
public:
|
|
|
|
NSPROVIDERSTATE();
|
|
|
|
INT
|
|
Initialize(
|
|
PNSPROVIDER pNamespaceProvider
|
|
);
|
|
|
|
INT
|
|
WINAPI
|
|
LookupServiceBegin(
|
|
IN LPWSAQUERYSETW lpqsRestrictions,
|
|
IN LPWSASERVICECLASSINFOW lpServiceClassInfo,
|
|
IN DWORD dwControlFlags
|
|
);
|
|
|
|
INT
|
|
WINAPI
|
|
LookupServiceNext(
|
|
IN DWORD dwContolFlags,
|
|
IN OUT LPDWORD lpdwBufferLength,
|
|
OUT LPWSAQUERYSETW lpqsResults
|
|
);
|
|
|
|
INT
|
|
WINAPI
|
|
SupportsIoctl(
|
|
);
|
|
|
|
INT
|
|
WINAPI
|
|
Ioctl(
|
|
IN DWORD dwControlCode,
|
|
IN LPVOID lpvInBuffer,
|
|
IN DWORD cbInBuffer,
|
|
OUT LPVOID lpvOutBuffer,
|
|
IN DWORD cbOutBuffer,
|
|
OUT LPDWORD lpcbBytesReturned,
|
|
IN LPWSACOMPLETION lpCompletion,
|
|
IN LPWSATHREADID lpThreadId
|
|
);
|
|
|
|
INT
|
|
WINAPI
|
|
LookupServiceEnd();
|
|
|
|
INT
|
|
WINAPI
|
|
SetService(
|
|
IN LPWSASERVICECLASSINFOW lpServiceClassInfo,
|
|
IN LPWSAQUERYSETW lpqsRegInfo,
|
|
IN WSAESETSERVICEOP essOperation,
|
|
IN DWORD dwControlFlags
|
|
);
|
|
|
|
INT
|
|
WINAPI
|
|
InstallServiceClass(
|
|
IN LPWSASERVICECLASSINFOW lpServiceClassInfo
|
|
);
|
|
|
|
INT
|
|
WINAPI
|
|
RemoveServiceClass(
|
|
IN LPGUID lpServiceClassId
|
|
);
|
|
|
|
INT
|
|
WINAPI
|
|
GetServiceClassInfo(
|
|
IN OUT LPDWORD lpdwBufSize,
|
|
IN OUT LPWSASERVICECLASSINFOW lpServiceClassInfo
|
|
);
|
|
|
|
|
|
~NSPROVIDERSTATE();
|
|
|
|
LIST_ENTRY m_query_linkage;
|
|
//Public data member to support putting this object on a linked list
|
|
|
|
private:
|
|
|
|
PNSPROVIDER m_provider;
|
|
// Pointer to the NSPROVIDER object associated with this object.
|
|
|
|
HANDLE m_provider_query_handle;
|
|
// The handle returned from NSPLookupServiceBegin() to be passed to
|
|
// NSPlookupServiceNext and NSPLookupSeviceEnd.
|
|
|
|
}; // class NSPROVIDERSTATE
|
|
|
|
inline
|
|
NSPROVIDERSTATE::NSPROVIDERSTATE()
|
|
/*++
|
|
|
|
Routine Description:
|
|
|
|
Constructor for the NSPROVIDERSTATE object. The first member function
|
|
called after this must be Initialize.
|
|
|
|
Arguments:
|
|
|
|
None
|
|
|
|
Return Value:
|
|
|
|
Returns a pointer to a NSPROVIDERSTATE object.
|
|
--*/
|
|
{
|
|
m_provider = NULL;
|
|
m_provider_query_handle = NULL;
|
|
}
|
|
|
|
|
|
|
|
inline
|
|
INT
|
|
NSPROVIDERSTATE::Initialize(
|
|
PNSPROVIDER pNamespaceProvider
|
|
)
|
|
/*++
|
|
|
|
Routine Description:
|
|
|
|
This procedure performs all initialization for the NSPROVIDERSTATE
|
|
object. This function must be invoked after the constructor, before
|
|
any other member function is invoked.
|
|
|
|
Arguments:
|
|
|
|
pNamespaceProvider - A pointer to a namespace provider object.
|
|
|
|
ProviderQueryHandle - A handle to used in calls to Lookup
|
|
Return Value:
|
|
|
|
If the function is successful, it returns ERROR_SUCCESS, otherwise it
|
|
returns an appropriate WinSock 2 error code.
|
|
--*/
|
|
{
|
|
assert (m_provider==NULL);
|
|
pNamespaceProvider->Reference ();
|
|
m_provider = pNamespaceProvider;
|
|
return(ERROR_SUCCESS);
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
inline
|
|
INT
|
|
WINAPI
|
|
NSPROVIDERSTATE::LookupServiceBegin(
|
|
IN LPWSAQUERYSETW lpqsRestrictions,
|
|
IN LPWSASERVICECLASSINFOW lpServiceClassInfo,
|
|
IN DWORD dwControlFlags
|
|
)
|
|
/*++
|
|
|
|
Routine Description:
|
|
|
|
See description in NSPROVID.H
|
|
|
|
Arguments:
|
|
|
|
None
|
|
|
|
Return Value:
|
|
|
|
None
|
|
--*/
|
|
{
|
|
return( m_provider->NSPLookupServiceBegin(
|
|
lpqsRestrictions,
|
|
lpServiceClassInfo,
|
|
dwControlFlags,
|
|
&m_provider_query_handle
|
|
));
|
|
}
|
|
|
|
|
|
|
|
inline
|
|
INT
|
|
WINAPI
|
|
NSPROVIDERSTATE::LookupServiceNext(
|
|
IN DWORD dwContolFlags,
|
|
IN OUT LPDWORD lpdwBufferLength,
|
|
OUT LPWSAQUERYSETW lpqsResults
|
|
)
|
|
/*++
|
|
|
|
Routine Description:
|
|
|
|
See description in NSPROVID.H
|
|
|
|
Arguments:
|
|
|
|
None
|
|
|
|
Return Value:
|
|
|
|
None
|
|
--*/
|
|
{
|
|
return(m_provider->NSPLookupServiceNext(
|
|
m_provider_query_handle,
|
|
dwContolFlags,
|
|
lpdwBufferLength,
|
|
lpqsResults
|
|
));
|
|
}
|
|
|
|
|
|
|
|
inline
|
|
INT
|
|
WINAPI
|
|
NSPROVIDERSTATE::SupportsIoctl(
|
|
)
|
|
{
|
|
return (m_provider->SupportsIoctl());
|
|
}
|
|
|
|
|
|
|
|
inline
|
|
INT
|
|
WINAPI
|
|
NSPROVIDERSTATE::Ioctl(
|
|
IN DWORD dwControlCode,
|
|
IN LPVOID lpvInBuffer,
|
|
IN DWORD cbInBuffer,
|
|
OUT LPVOID lpvOutBuffer,
|
|
IN DWORD cbOutBuffer,
|
|
OUT LPDWORD lpcbBytesReturned,
|
|
IN LPWSACOMPLETION lpCompletion,
|
|
IN LPWSATHREADID lpThreadId
|
|
)
|
|
{
|
|
return (m_provider->NSPIoctl(
|
|
m_provider_query_handle,
|
|
dwControlCode,
|
|
lpvInBuffer,
|
|
cbInBuffer,
|
|
lpvOutBuffer,
|
|
cbOutBuffer,
|
|
lpcbBytesReturned,
|
|
lpCompletion,
|
|
lpThreadId
|
|
));
|
|
}
|
|
|
|
|
|
|
|
inline
|
|
INT
|
|
WINAPI
|
|
NSPROVIDERSTATE::LookupServiceEnd()
|
|
/*++
|
|
|
|
Routine Description:
|
|
|
|
See description in NSPROVID.H
|
|
|
|
Arguments:
|
|
|
|
None
|
|
|
|
Return Value:
|
|
|
|
None
|
|
--*/
|
|
{
|
|
return(m_provider->NSPLookupServiceEnd(m_provider_query_handle));
|
|
}
|
|
|
|
inline
|
|
NSPROVIDERSTATE::~NSPROVIDERSTATE()
|
|
/*++
|
|
|
|
Routine Description:
|
|
|
|
Denstructor for the NSPROVIDERSTATE object.
|
|
|
|
Arguments:
|
|
|
|
None
|
|
|
|
Return Value:
|
|
|
|
None
|
|
--*/
|
|
{
|
|
if (m_provider!=NULL) {
|
|
m_provider->Dereference ();
|
|
m_provider = NULL;
|
|
}
|
|
}
|
|
|
|
|
|
#endif // _NSPROVIDERSTATE_
|
|
|
|
|
|
|
|
|