15#define WsNqLock() EnterCriticalSection(&NsQuery->Lock)
16#define WsNqUnlock() LeaveCriticalSection(&NsQuery->Lock)
49 Query->Signature = 0xBEADFACE;
60 if (
Query->Signature != 0xBEADFACE)
return FALSE;
80 if (!NsQuery->ProviderList.Flink)
return;
96 NsQuery->Signature = ~0xBEADFACE;
131 Entry->AddressFamily,
171 NsQuery->ShuttingDown =
TRUE;
174 Entry = NsQuery->ProviderList.Flink;
175 while (
Entry != &NsQuery->ProviderList)
204 if (NsQuery->ShuttingDown)
215 NextProvider = NsQuery->ActiveProvider;
219 if (!NsQuery->CurrentProvider)
228 Entry = NsQuery->ProviderList.Blink;
240 NsQuery->ActiveProvider = NextProvider;
272 if (NsQuery->ActiveProvider)
279 if (
Provider == NsQuery->ActiveProvider)
282 NsQuery->ActiveProvider = NextProvider;
292 if (!(NextProvider) &&
300 NsQuery->TryAgain =
FALSE;
322 NsQuery->ControlFlags,
326 NsQuery->ActiveProvider =
363 if (NsQuery->TryAgain)
375 NsQuery->TryAgain =
FALSE;
380 NsQuery->ControlFlags = ControlFlags;
381 NsQuery->Catalog = Catalog;
385 if (Restrictions->lpNSProviderId)
389 Restrictions->lpNSProviderId,
457 Entry = NsQuery->ProviderList.Flink;
500 Entry = NsQuery->ProviderList.Flink;
#define InterlockedIncrement
#define InterlockedDecrement
BOOL Query(LPCTSTR *ServiceArgs, DWORD ArgCount, BOOL bExtended)
#define HeapFree(x, y, z)
#define RemoveEntryList(Entry)
#define InsertTailList(ListHead, Entry)
#define InsertHeadList(ListHead, Entry)
#define IsListEmpty(ListHead)
#define RemoveHeadList(ListHead)
#define InitializeListHead(ListHead)
struct _ENUM_CONTEXT * PENUM_CONTEXT
_In_ NDIS_ERROR_CODE ErrorCode
DWORD WSAAPI WsNqLookupServiceEnd(IN PNSQUERY NsQuery)
PNSQUERY_PROVIDER WSAAPI WsNqNextProvider(IN PNSQUERY Query, IN PNSQUERY_PROVIDER Provider)
DWORD WSAAPI WsNqLookupServiceNext(IN PNSQUERY NsQuery, IN DWORD ControlFlags, OUT PDWORD BufferLength, OUT LPWSAQUERYSETW Results)
VOID WSAAPI WsNqDelete(IN PNSQUERY NsQuery)
BOOL WSAAPI WsNqValidateAndReference(IN PNSQUERY Query)
BOOL WSAAPI WsNqBeginEnumerationProc(PVOID Context, PNSCATALOG_ENTRY Entry)
PNSQUERY WSAAPI WsNqAllocate(VOID)
VOID WSAAPI WsNqDereference(IN PNSQUERY Query)
DWORD WSAAPI WsNqLookupServiceBegin(IN PNSQUERY NsQuery, IN LPWSAQUERYSETW Restrictions, IN DWORD ControlFlags, IN PNSCATALOG Catalog)
DWORD WSAAPI WsNqInitialize(IN PNSQUERY Query)
BOOL WSAAPI WsNqAddProvider(IN PNSQUERY Query, IN PNS_PROVIDER Provider)
PNSQUERY_PROVIDER WSAAPI WsNqPreviousProvider(IN PNSQUERY Query, IN PNSQUERY_PROVIDER Provider)
base of all file and directory entries
LPWSAQUERYSETW lpqsRestrictions
VOID WINAPI InitializeCriticalSection(OUT LPCRITICAL_SECTION lpCriticalSection)
#define CONTAINING_RECORD(address, type, field)
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ ULONG BufferLength
DWORD WINAPI GetLastError(void)
void WINAPI DeleteCriticalSection(PCRITICAL_SECTION)
#define WSASYSCALLFAILURE
#define WSASERVICE_NOT_FOUND
#define WSA_NOT_ENOUGH_MEMORY
BOOL WINAPI WSAttemptAutodialName(IN CONST LPWSAQUERYSETW Restrictions)
BOOL WSAAPI WsNcMatchProtocols(IN DWORD NameSpace, IN LONG AddressFamily, IN LPWSAQUERYSETW QuerySet)
INT WSAAPI WsNcGetCatalogFromProviderId(IN PNSCATALOG Catalog, IN LPGUID ProviderId, OUT PNSCATALOG_ENTRY *CatalogEntry)
INT WSAAPI WsNcLoadProvider(IN PNSCATALOG Catalog, IN PNSCATALOG_ENTRY CatalogEntry)
PNSQUERY_PROVIDER WSAAPI WsNqProvAllocate(VOID)
INT WSAAPI CopyQuerySetW(IN LPWSAQUERYSETW UnicodeSet, OUT LPWSAQUERYSETW *UnicodeCopy)
INT WSAAPI WsNcGetServiceClassInfo(IN PNSCATALOG Catalog, IN OUT LPDWORD BugSize, IN OUT LPWSASERVICECLASSINFOW lpServiceClassInfo)
DWORD WSAAPI WsNqProvLookupServiceEnd(IN PNSQUERY_PROVIDER QueryProvider)
DWORD WSAAPI WsNqProvInitialize(IN PNSQUERY_PROVIDER QueryProvider, IN PNS_PROVIDER Provider)
VOID WSAAPI WsNcEnumerateCatalogItems(IN PNSCATALOG Catalog, IN PNSCATALOG_ENUMERATE_PROC Callback, IN PVOID Context)
DWORD WSAAPI WsNqProvLookupServiceBegin(IN PNSQUERY_PROVIDER QueryProvider, IN LPWSAQUERYSETW QuerySet, IN LPWSASERVICECLASSINFOW ServiceClassInfo, IN DWORD)
DWORD WSAAPI WsNqProvLookupServiceNext(IN PNSQUERY_PROVIDER QueryProvider, DWORD, PDWORD, LPWSAQUERYSETW QuerySet)
VOID WSAAPI WsNqProvDelete(IN PNSQUERY_PROVIDER QueryProvider)