#include <winapifamily.h>
#ifndef __RPCNSI_H__
#define __RPCNSI_H__
#if _MSC_VER > 1000
#pragma once
#endif
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
typedef void __RPC_FAR * RPC_NS_HANDLE;
#define RPC_C_NS_SYNTAX_DEFAULT 0
#define RPC_C_NS_SYNTAX_DCE 3
#define RPC_C_PROFILE_DEFAULT_ELT 0
#define RPC_C_PROFILE_ALL_ELT 1
#define RPC_C_PROFILE_ALL_ELTS RPC_C_PROFILE_ALL_ELT
#define RPC_C_PROFILE_MATCH_BY_IF 2
#define RPC_C_PROFILE_MATCH_BY_MBR 3
#define RPC_C_PROFILE_MATCH_BY_BOTH 4
#define RPC_C_NS_DEFAULT_EXP_AGE -1
RPCNSAPI RPC_STATUS RPC_ENTRY
__declspec
(dllimport)
__stdcall
(
_In_ unsigned long EntryNameSyntax,
_In_opt_ RPC_CSTR EntryName,
_In_opt_ RPC_IF_HANDLE IfSpec,
_In_opt_ RPC_BINDING_VECTOR __RPC_FAR *BindingVec,
_In_opt_ UUID_VECTOR __RPC_FAR *ObjectUuidVec
);
RPCNSAPI RPC_STATUS RPC_ENTRY
__declspec
(dllimport)
__stdcall
(
_In_ unsigned long EntryNameSyntax,
_In_opt_ RPC_CSTR EntryName,
_In_opt_ RPC_IF_HANDLE IfSpec,
_In_opt_ UUID_VECTOR __RPC_FAR *ObjectUuidVec
);
#ifdef RPC_UNICODE_SUPPORTED
RPCNSAPI RPC_STATUS RPC_ENTRY
__declspec
(dllimport)
__stdcall
(
_In_ unsigned long EntryNameSyntax,
_In_opt_ RPC_WSTR EntryName,
_In_opt_ RPC_IF_HANDLE IfSpec,
_In_opt_ RPC_BINDING_VECTOR __RPC_FAR *BindingVec,
_In_opt_ UUID_VECTOR __RPC_FAR *ObjectUuidVec
);
RPCNSAPI RPC_STATUS RPC_ENTRY
__declspec
(dllimport)
__stdcall
(
_In_ unsigned long EntryNameSyntax,
_In_opt_ RPC_WSTR EntryName,
_In_opt_ RPC_IF_HANDLE IfSpec,
_In_opt_ UUID_VECTOR __RPC_FAR *ObjectUuidVec
);
#endif
(
_In_ unsigned long EntryNameSyntax,
_In_opt_ RPC_CSTR EntryName,
_In_opt_ RPC_IF_HANDLE IfSpec,
_In_opt_ UUID_VECTOR *ObjectVector
);
(
_In_ unsigned long EntryNameSyntax,
_In_opt_ RPC_CSTR EntryName,
_In_opt_ RPC_IF_HANDLE IfSpec,
_In_opt_ UUID_VECTOR *ObjectVector
);
#ifdef RPC_UNICODE_SUPPORTED
(
_In_ unsigned long EntryNameSyntax,
_In_opt_ RPC_WSTR EntryName,
_In_opt_ RPC_IF_HANDLE IfSpec,
_In_opt_ UUID_VECTOR *ObjectVector
);
(
_In_ unsigned long EntryNameSyntax,
_In_opt_ RPC_WSTR EntryName,
_In_opt_ RPC_IF_HANDLE IfSpec,
_In_opt_ UUID_VECTOR *ObjectVector
);
#endif
RPCNSAPI RPC_STATUS RPC_ENTRY
__declspec
(dllimport)
__stdcall
(
_In_ unsigned long EntryNameSyntax,
_In_opt_ RPC_CSTR EntryName,
_In_opt_ RPC_IF_HANDLE IfSpec,
_In_opt_ UUID __RPC_FAR *ObjUuid,
_In_ unsigned long BindingMaxCount,
_Out_ RPC_NS_HANDLE __RPC_FAR *LookupContext
);
#ifdef RPC_UNICODE_SUPPORTED
RPCNSAPI RPC_STATUS RPC_ENTRY
__declspec
(dllimport)
__stdcall
(
_In_ unsigned long EntryNameSyntax,
_In_opt_ RPC_WSTR EntryName,
_In_opt_ RPC_IF_HANDLE IfSpec,
_In_opt_ UUID __RPC_FAR *ObjUuid,
_In_ unsigned long BindingMaxCount,
_Out_ RPC_NS_HANDLE __RPC_FAR *LookupContext
);
#endif
RPCNSAPI RPC_STATUS RPC_ENTRY
__declspec
(dllimport)
__stdcall
(
IN RPC_NS_HANDLE LookupContext,
OUT RPC_BINDING_VECTOR __RPC_FAR * __RPC_FAR * BindingVec
);
RPCNSAPI RPC_STATUS RPC_ENTRY
__declspec
(dllimport)
__stdcall
(
IN OUT RPC_NS_HANDLE __RPC_FAR * LookupContext
);
RPCNSAPI RPC_STATUS RPC_ENTRY
__declspec
(dllimport)
__stdcall
(
_In_ unsigned long GroupNameSyntax,
_In_opt_ RPC_CSTR GroupName
);
RPCNSAPI RPC_STATUS RPC_ENTRY
__declspec
(dllimport)
__stdcall
(
_In_ unsigned long GroupNameSyntax,
_In_ unsigned long MemberNameSyntax,
);
RPCNSAPI RPC_STATUS RPC_ENTRY
__declspec
(dllimport)
__stdcall
(
_In_ unsigned long GroupNameSyntax,
_In_ unsigned long MemberNameSyntax,
);
RPCNSAPI RPC_STATUS RPC_ENTRY
__declspec
(dllimport)
__stdcall
(
_In_ unsigned long GroupNameSyntax,
_In_ unsigned long MemberNameSyntax,
_Out_ RPC_NS_HANDLE __RPC_FAR *InquiryContext
);
RPCNSAPI RPC_STATUS RPC_ENTRY
__declspec
(dllimport)
__stdcall
(
_Inout_ RPC_NS_HANDLE InquiryContext,
_Outptr_ RPC_CSTR __RPC_FAR *MemberName
);
#ifdef RPC_UNICODE_SUPPORTED
RPCNSAPI RPC_STATUS RPC_ENTRY
__declspec
(dllimport)
__stdcall
(
_In_ unsigned long GroupNameSyntax,
_In_opt_ RPC_WSTR GroupName
);
RPCNSAPI RPC_STATUS RPC_ENTRY
__declspec
(dllimport)
__stdcall
(
_In_ unsigned long GroupNameSyntax,
_In_ unsigned long MemberNameSyntax,
);
RPCNSAPI RPC_STATUS RPC_ENTRY
__declspec
(dllimport)
__stdcall
(
_In_ unsigned long GroupNameSyntax,
_In_ unsigned long MemberNameSyntax,
);
RPCNSAPI RPC_STATUS RPC_ENTRY
__declspec
(dllimport)
__stdcall
(
_In_ unsigned long GroupNameSyntax,
_In_ unsigned long MemberNameSyntax,
_Out_ RPC_NS_HANDLE __RPC_FAR *InquiryContext
);
RPCNSAPI RPC_STATUS RPC_ENTRY
__declspec
(dllimport)
__stdcall
(
_Inout_ RPC_NS_HANDLE InquiryContext,
_Outptr_ RPC_WSTR __RPC_FAR *MemberName
);
#endif
RPCNSAPI RPC_STATUS RPC_ENTRY
__declspec
(dllimport)
__stdcall
(
IN OUT RPC_NS_HANDLE __RPC_FAR * InquiryContext
);
RPCNSAPI RPC_STATUS RPC_ENTRY
__declspec
(dllimport)
__stdcall
(
_In_ unsigned long ProfileNameSyntax,
_In_ RPC_CSTR ProfileName
);
RPCNSAPI RPC_STATUS RPC_ENTRY
__declspec
(dllimport)
__stdcall
(
_In_ unsigned long ProfileNameSyntax,
_In_ RPC_CSTR ProfileName,
_In_opt_ RPC_IF_ID __RPC_FAR *IfId,
_In_ unsigned long MemberNameSyntax,
_In_ RPC_CSTR MemberName,
_In_ unsigned long Priority,
_In_opt_ RPC_CSTR Annotation
);
RPCNSAPI RPC_STATUS RPC_ENTRY
__declspec
(dllimport)
__stdcall
(
_In_ unsigned long ProfileNameSyntax,
_In_ RPC_CSTR ProfileName,
_In_opt_ RPC_IF_ID __RPC_FAR *IfId,
_In_ unsigned long MemberNameSyntax,
);
RPCNSAPI RPC_STATUS RPC_ENTRY
__declspec
(dllimport)
__stdcall
(
_In_ unsigned long ProfileNameSyntax,
_In_ RPC_CSTR ProfileName,
_In_ unsigned long InquiryType,
_In_opt_ RPC_IF_ID __RPC_FAR *IfId,
_In_ unsigned long VersOption,
_In_ unsigned long MemberNameSyntax,
_In_opt_ RPC_CSTR MemberName,
_Out_ RPC_NS_HANDLE __RPC_FAR *InquiryContext
);
RPCNSAPI RPC_STATUS RPC_ENTRY
__declspec
(dllimport)
__stdcall
(
_In_ RPC_NS_HANDLE InquiryContext,
_Out_opt_ RPC_IF_ID __RPC_FAR *IfId,
_Out_ RPC_CSTR __RPC_FAR *MemberName,
_Out_ unsigned long __RPC_FAR *Priority,
_Out_ RPC_CSTR __RPC_FAR *Annotation
);
#ifdef RPC_UNICODE_SUPPORTED
RPCNSAPI RPC_STATUS RPC_ENTRY
__declspec
(dllimport)
__stdcall
(
_In_ unsigned long ProfileNameSyntax,
_In_ RPC_WSTR ProfileName
);
RPCNSAPI RPC_STATUS RPC_ENTRY
__declspec
(dllimport)
__stdcall
(
_In_ unsigned long ProfileNameSyntax,
_In_ RPC_WSTR ProfileName,
_In_opt_ RPC_IF_ID __RPC_FAR *IfId,
_In_ unsigned long MemberNameSyntax,
_In_ RPC_WSTR MemberName,
_In_ unsigned long Priority,
_In_opt_ RPC_WSTR Annotation
);
RPCNSAPI RPC_STATUS RPC_ENTRY
__declspec
(dllimport)
__stdcall
(
_In_ unsigned long ProfileNameSyntax,
_In_ RPC_WSTR ProfileName,
_In_opt_ RPC_IF_ID __RPC_FAR *IfId,
_In_ unsigned long MemberNameSyntax,
);
RPCNSAPI RPC_STATUS RPC_ENTRY
__declspec
(dllimport)
__stdcall
(
_In_ unsigned long ProfileNameSyntax,
_In_ RPC_WSTR ProfileName,
_In_ unsigned long InquiryType,
_In_opt_ RPC_IF_ID __RPC_FAR *IfId,
_In_ unsigned long VersOption,
_In_ unsigned long MemberNameSyntax,
_In_opt_ RPC_WSTR MemberName,
_Out_ RPC_NS_HANDLE __RPC_FAR *InquiryContext
);
RPCNSAPI RPC_STATUS RPC_ENTRY
__declspec
(dllimport)
__stdcall
(
_In_ RPC_NS_HANDLE InquiryContext,
_Out_opt_ RPC_IF_ID __RPC_FAR *IfId,
_Out_ RPC_WSTR __RPC_FAR *MemberName,
_Out_ unsigned long __RPC_FAR *Priority,
_Out_ RPC_WSTR __RPC_FAR *Annotation
);
#endif
RPCNSAPI RPC_STATUS RPC_ENTRY
__declspec
(dllimport)
__stdcall
(
IN OUT RPC_NS_HANDLE __RPC_FAR * InquiryContext
);
RPCNSAPI RPC_STATUS RPC_ENTRY
__declspec
(dllimport)
__stdcall
RpcNsEntryObjectInqBeginA
(
_In_ unsigned long EntryNameSyntax,
_Out_ RPC_NS_HANDLE __RPC_FAR *InquiryContext
);
#ifdef RPC_UNICODE_SUPPORTED
RPCNSAPI RPC_STATUS RPC_ENTRY
__declspec
(dllimport)
__stdcall
RpcNsEntryObjectInqBeginW
(
_In_ unsigned long EntryNameSyntax,
_Out_ RPC_NS_HANDLE __RPC_FAR *InquiryContext
);
#endif
RPCNSAPI RPC_STATUS RPC_ENTRY
__declspec
(dllimport)
__stdcall
(
IN RPC_NS_HANDLE InquiryContext,
OUT UUID __RPC_FAR * ObjUuid
);
RPCNSAPI RPC_STATUS RPC_ENTRY
__declspec
(dllimport)
__stdcall
(
IN OUT RPC_NS_HANDLE __RPC_FAR * InquiryContext
);
RPCNSAPI RPC_STATUS RPC_ENTRY
__declspec
(dllimport)
__stdcall
(
_In_ unsigned long EntryNameSyntax,
_Out_ RPC_CSTR __RPC_FAR *ExpandedName
);
RPCNSAPI RPC_STATUS RPC_ENTRY
__declspec
(dllimport)
__stdcall
RpcNsMgmtBindingUnexportA
(
_In_ unsigned long EntryNameSyntax,
_In_opt_ RPC_IF_ID __RPC_FAR *IfId,
_In_ unsigned long VersOption,
_In_opt_ UUID_VECTOR __RPC_FAR *ObjectUuidVec
);
RPCNSAPI RPC_STATUS RPC_ENTRY
__declspec
(dllimport)
__stdcall
(
_In_ unsigned long EntryNameSyntax,
);
RPCNSAPI RPC_STATUS RPC_ENTRY
__declspec
(dllimport)
__stdcall
(
_In_ unsigned long EntryNameSyntax,
);
RPCNSAPI RPC_STATUS RPC_ENTRY
__declspec
(dllimport)
__stdcall
(
_In_ unsigned long EntryNameSyntax,
_Out_ RPC_IF_ID_VECTOR __RPC_FAR * __RPC_FAR *IfIdVec
);
RPCNSAPI RPC_STATUS RPC_ENTRY
__declspec
(dllimport)
__stdcall
(
IN RPC_NS_HANDLE NsHandle,
IN unsigned long ExpirationAge
);
RPCNSAPI RPC_STATUS RPC_ENTRY
__declspec
(dllimport)
__stdcall
(
OUT unsigned long __RPC_FAR * ExpirationAge
);
RPCNSAPI RPC_STATUS RPC_ENTRY
__declspec
(dllimport)
__stdcall
(
IN unsigned long ExpirationAge
);
#ifdef RPC_UNICODE_SUPPORTED
RPCNSAPI RPC_STATUS RPC_ENTRY
__declspec
(dllimport)
__stdcall
(
_In_ unsigned long EntryNameSyntax,
_Out_ RPC_WSTR __RPC_FAR *ExpandedName
);
RPCNSAPI RPC_STATUS RPC_ENTRY
__declspec
(dllimport)
__stdcall
RpcNsMgmtBindingUnexportW
(
_In_ unsigned long EntryNameSyntax,
_In_opt_ RPC_IF_ID __RPC_FAR *IfId,
_In_ unsigned long VersOption,
_In_opt_ UUID_VECTOR __RPC_FAR *ObjectUuidVec
);
RPCNSAPI RPC_STATUS RPC_ENTRY
__declspec
(dllimport)
__stdcall
(
_In_ unsigned long EntryNameSyntax,
);
RPCNSAPI RPC_STATUS RPC_ENTRY
__declspec
(dllimport)
__stdcall
(
_In_ unsigned long EntryNameSyntax,
);
RPCNSAPI RPC_STATUS RPC_ENTRY
__declspec
(dllimport)
__stdcall
(
_In_ unsigned long EntryNameSyntax,
_Out_ RPC_IF_ID_VECTOR __RPC_FAR * __RPC_FAR *IfIdVec
);
#endif
RPCNSAPI RPC_STATUS RPC_ENTRY
__declspec
(dllimport)
__stdcall
(
_In_ unsigned long EntryNameSyntax,
_In_opt_ RPC_CSTR EntryName,
_In_opt_ RPC_IF_HANDLE IfSpec,
_In_opt_ UUID __RPC_FAR *ObjUuid,
_Out_ RPC_NS_HANDLE __RPC_FAR *ImportContext
);
#ifdef RPC_UNICODE_SUPPORTED
RPCNSAPI RPC_STATUS RPC_ENTRY
__declspec
(dllimport)
__stdcall
(
_In_ unsigned long EntryNameSyntax,
_In_opt_ RPC_WSTR EntryName,
_In_opt_ RPC_IF_HANDLE IfSpec,
_In_opt_ UUID __RPC_FAR *ObjUuid,
_Out_ RPC_NS_HANDLE __RPC_FAR *ImportContext
);
#endif
RPCNSAPI RPC_STATUS RPC_ENTRY
__declspec
(dllimport)
__stdcall
(
IN RPC_NS_HANDLE ImportContext,
OUT RPC_BINDING_HANDLE __RPC_FAR * Binding
);
RPCNSAPI RPC_STATUS RPC_ENTRY
__declspec
(dllimport)
__stdcall
(
IN OUT RPC_NS_HANDLE __RPC_FAR * ImportContext
);
RPCNSAPI RPC_STATUS RPC_ENTRY
__declspec
(dllimport)
__stdcall
(
IN OUT RPC_BINDING_VECTOR __RPC_FAR * BindingVec,
OUT RPC_BINDING_HANDLE __RPC_FAR * Binding
);
#ifdef UNICODE
#define RpcNsBindingLookupBegin RpcNsBindingLookupBeginW
#define RpcNsBindingImportBegin RpcNsBindingImportBeginW
#define RpcNsBindingExport RpcNsBindingExportW
#define RpcNsBindingUnexport RpcNsBindingUnexportW
#define RpcNsGroupDelete RpcNsGroupDeleteW
#define RpcNsGroupMbrAdd RpcNsGroupMbrAddW
#define RpcNsGroupMbrRemove RpcNsGroupMbrRemoveW
#define RpcNsGroupMbrInqBegin RpcNsGroupMbrInqBeginW
#define RpcNsGroupMbrInqNext RpcNsGroupMbrInqNextW
#define RpcNsEntryExpandName RpcNsEntryExpandNameW
#define RpcNsEntryObjectInqBegin RpcNsEntryObjectInqBeginW
#define RpcNsMgmtBindingUnexport RpcNsMgmtBindingUnexportW
#define RpcNsMgmtEntryCreate RpcNsMgmtEntryCreateW
#define RpcNsMgmtEntryDelete RpcNsMgmtEntryDeleteW
#define RpcNsMgmtEntryInqIfIds RpcNsMgmtEntryInqIfIdsW
#define RpcNsProfileDelete RpcNsProfileDeleteW
#define RpcNsProfileEltAdd RpcNsProfileEltAddW
#define RpcNsProfileEltRemove RpcNsProfileEltRemoveW
#define RpcNsProfileEltInqBegin RpcNsProfileEltInqBeginW
#define RpcNsProfileEltInqNext RpcNsProfileEltInqNextW
#define RpcNsBindingExportPnP RpcNsBindingExportPnPW
#define RpcNsBindingUnexportPnP RpcNsBindingUnexportPnPW
#else
#define RpcNsBindingLookupBegin RpcNsBindingLookupBeginA
#define RpcNsBindingImportBegin RpcNsBindingImportBeginA
#define RpcNsBindingExport RpcNsBindingExportA
#define RpcNsBindingUnexport RpcNsBindingUnexportA
#define RpcNsGroupDelete RpcNsGroupDeleteA
#define RpcNsGroupMbrAdd RpcNsGroupMbrAddA
#define RpcNsGroupMbrRemove RpcNsGroupMbrRemoveA
#define RpcNsGroupMbrInqBegin RpcNsGroupMbrInqBeginA
#define RpcNsGroupMbrInqNext RpcNsGroupMbrInqNextA
#define RpcNsEntryExpandName RpcNsEntryExpandNameA
#define RpcNsEntryObjectInqBegin RpcNsEntryObjectInqBeginA
#define RpcNsMgmtBindingUnexport RpcNsMgmtBindingUnexportA
#define RpcNsMgmtEntryCreate RpcNsMgmtEntryCreateA
#define RpcNsMgmtEntryDelete RpcNsMgmtEntryDeleteA
#define RpcNsMgmtEntryInqIfIds RpcNsMgmtEntryInqIfIdsA
#define RpcNsProfileDelete RpcNsProfileDeleteA
#define RpcNsProfileEltAdd RpcNsProfileEltAddA
#define RpcNsProfileEltRemove RpcNsProfileEltRemoveA
#define RpcNsProfileEltInqBegin RpcNsProfileEltInqBeginA
#define RpcNsProfileEltInqNext RpcNsProfileEltInqNextA
#define RpcNsBindingExportPnP RpcNsBindingExportPnPA
#define RpcNsBindingUnexportPnP RpcNsBindingUnexportPnPA
#endif /* UNICODE */
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#endif /* __RPCNSI_H__ */