2025-11-28 00:35:46 +09:00

45 lines
1.3 KiB
C

/********************************************************************++
THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED
TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
PARTICULAR PURPOSE.
Copyright (c) Microsoft Corporation. All Rights Reserved.
Module Name:
Reg.h
Abstract:
This h file includes sample code for registration portion of
an nspv2 naming provider
--********************************************************************/
#pragma once
#include "SampleProvider.h"
#define MAX_REGISTRATIONS 100
extern CRITICAL_SECTION g_cs;
typedef struct _RegInfo
{
PWSTR pwzEmailAddress;
PWSTR pwzServiceName;
ULONG cAddresses;
CSADDR_INFO *prgAddresses;
} RegInfo;
INT AddRegistration(__in LPWSAQUERYSET2 pQuerySet);
INT RemoveRegistration(__in LPWSAQUERYSET2 pQuerySet);
INT FindRegistration(PCWSTR pcwzEmailAddress, PCWSTR pcwzServiceName, RegInfo **ppRegInfo);
void RemoveAllRegistrations();
ULONG StringSize(PCWSTR wz);
INT CopyString(PCWSTR wzSrc, __deref_out PWSTR *pwzDest);
INT CopyAddrs(__in_ecount(dwAddrs) CSADDR_INFO *rgAddrsSrc,
DWORD dwAddrs,
__deref_out CSADDR_INFO **prgAddrsDest);