Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
[WZCEnumInterfaces wird ab Windows Vista und Windows Server 2008 nicht mehr unterstützt. Verwenden Sie stattdessen die WlanEnumInterfaces-Funktion . Weitere Informationen finden Sie unter Informationen zur nativen Wifi-API.]
Die WZCEnumInterfaces-Funktion listet alle wlan-Schnittstellen auf, die vom Wireless Zero Configuration-Dienst verwaltet werden.
Syntax
DWORD WZCEnumInterfaces(
_In_ LPWSTR pSrvAddr,
_Out_ PINTFS_KEY_TABLE pIntfs
);
Parameter
-
pSrvAddr [in]
-
Ein Zeiger auf eine Zeichenfolge, die den Namen des Computers enthält, auf dem diese Funktion ausgeführt werden soll. Wenn dieser Parameter NULL ist, wird der Wireless Zero Configuration-Dienst auf dem lokalen Computer aufgezählt.
Wenn der angegebene pSrvAddr-Parameter ein Remotecomputer ist, muss der Remotecomputer RPC-Remoteaufrufe unterstützen.
-
pIntfs [out]
-
Ein Zeiger auf eine INTFS_KEY_TABLE-Struktur , die eine Tabelle mit Schlüsselinformationen für alle Schnittstellen enthält.
Rückgabewert
Wenn die Funktion erfolgreich ist, wird der Rückgabewert ERROR_SUCCESS.
Wenn die Funktion fehlschlägt, kann der Rückgabewert einer der folgenden Rückgabecodes sein.
| Rückgabecode | Beschreibung |
|---|---|
|
Die Speicherkontrollblöcke wurden zerstört. Dieser Fehler wird zurückgegeben, wenn der Wireless Zero Configuration-Dienst keine internen Objekte initialisiert hat. |
|
Die Schnittstelle ist unbekannt. Dieser Fehler wird zurückgegeben, wenn der Wireless Zero Configuration-Dienst nicht gestartet wird. |
|
Ein NULL-Verweiszeiger wurde an den Stub übergeben. Dieser Fehler wird zurückgegeben, wenn der pIntfs-ParameterNULL ist. |
|
Es ist nicht genügend Arbeitsspeicher verfügbar, um diese Anforderung zu verarbeiten und Arbeitsspeicher für die Abfrageergebnisse zuzuweisen. |
|
Verschiedene Fehlercodes. |
Bemerkungen
Der dwNumIntfs-Member der INTFS_KEY_TABLE Struktur, auf die pIntf verweist, muss vor dem Aufrufen der WZCEnumInterfaces-Funktion auf 0 festgelegt werden. Außerdem muss der pIntfs-Member auf NULL festgelegt werden.
Für nachfolgende Aufrufe von anderen Wireless Zero Configuration-Funktionen muss eine Anwendung die Schnittstelle identifizieren, auf der sie arbeitet, indem sie relevante Schlüsselinformationen bereitstellt, die von der WZCEnumInterfaces-Funktion zurückgegeben werden.
Wenn WZCEnumInterfaces ERROR_SUCCESS zurückgibt, sollte der Aufrufer LocalFree aufrufen, um die internen Puffer freizugeben, die den zurückgegebenen Daten zugeordnet sind, sobald diese Informationen nicht mehr benötigt werden.
Hinweis
Die Wzcsapi.h-Headerdatei und die Importbibliotheksdatei Wzcsapi.lib sind im Windows SDK nicht verfügbar.
Beispiele
Im folgenden Beispiel werden die WLAN-Schnittstellen auf dem lokalen Computer aufgelistet, der vom Wireless Zero Configuration-Dienst verwaltet wird, und gibt den Wert für die Schnittstellen-GUID für jede Schnittstelle aus.
Hinweis
In diesem Beispiel tritt unter Windows Vista und höher ein Fehler auf.
#ifndef UNICODE
#define UNICODE
#endif
#include <windows.h>
#include <objbase.h>
#include <wtypes.h>
#include <stdio.h>
#include <stdlib.h>
// Wzcsapi.h and Wsczapi.lib were never shipped
// So we need to LOadlibrary and call the WZCEnumInterfaces function
// in Wzcsapi.dll in the
typedef struct
{
LPWSTR wszGuid;
} INTF_KEY_ENTRY, *PINTF_KEY_ENTRY;
typedef struct
{
DWORD dwNumIntfs;
PINTF_KEY_ENTRY pIntfs;
} INTFS_KEY_TABLE, *PINTFS_KEY_TABLE;
DWORD WZCEnumInterfaces(LPWSTR pSrvAddr, PINTFS_KEY_TABLE pIntfs);
//Define the function prototype
typedef DWORD (CALLBACK* WZCEnumInterfacesType)(LPWSTR, PINTFS_KEY_TABLE);
int wmain()
{
// Declare and initialize variables.
DWORD dwResult = 0;
// int iRet = 0;
// WCHAR GuidString[40] = {0};
int i;
/* variables used for WZCEnumInterfaces */
PINTFS_KEY_TABLE pIfList;
PINTF_KEY_ENTRY pIfInfo;
BOOL freeResult = FALSE;
BOOL runTimeLinkSuccess = FALSE;
HINSTANCE dllHandle = NULL;
WZCEnumInterfacesType WZCEnumInterfacesPtr = NULL;
// wprintf(L"Sample to test WZCEnumInterface\n");
//Load the dll and keep the handle to it
dllHandle = LoadLibrary( (LPCWSTR) L"wzcsapi.dll");
// If the handle is valid, try to get the function address.
if (dllHandle == NULL) {
dwResult = GetLastError();
wprintf(L"LoadLibrary of wzcsapi.dll failed with error: %d\n", dwResult);
if (dwResult == ERROR_MOD_NOT_FOUND)
wprintf(L"Error: The specified module could not be found\n");
return 1;
}
else
{
//Get pointer to our function using GetProcAddress:
WZCEnumInterfacesPtr = (WZCEnumInterfacesType) GetProcAddress(dllHandle,
"WZCEnumInterfaces");
if (WZCEnumInterfacesPtr != NULL)
runTimeLinkSuccess = TRUE;
else {
dwResult = GetLastError();
wprintf(L"GetProcAddress of WZCEnumInterfaces failed with error: %d\n", dwResult);
return 1;
}
// The function address is valid, allocate some memory for pIflist
pIfList = (PINTFS_KEY_TABLE) LocalAlloc(LMEM_ZEROINIT,4096);
if (pIfList == NULL) {
wprintf(L"Unable to allocate memory to store INTFS_KEY_TABLE\n");
freeResult = FreeLibrary(dllHandle);
return 1;
}
// If the function address is valid, call the function.
if (runTimeLinkSuccess)
{
dwResult = WZCEnumInterfacesPtr(NULL, pIfList);
if (dwResult != ERROR_SUCCESS) {
wprintf(L"WZCEnumInterfaces failed with error: %u\n", dwResult);
// FormatMessage can be used to find out why the function failed
//Free the library:
freeResult = FreeLibrary(dllHandle);
return 1;
}
else {
wprintf(L"Num Entries: %lu\n", pIfList->dwNumIntfs);
for (i = 0; i < (int) pIfList->dwNumIntfs; i++) {
pIfInfo = &pIfList->pIntfs[i];
if (pIfInfo->wszGuid == NULL)
wprintf(L" InterfaceGUID[%d]: NULL\n",i);
else
wprintf(L" InterfaceGUID[%d]: %ws\n",i, pIfInfo->wszGuid);
}
}
wprintf(L"\n");
}
freeResult = FreeLibrary(dllHandle);
}
if (pIfList != NULL) {
LocalFree(pIfList);
pIfList = NULL;
}
return 0;
}
Anforderungen
| Anforderung | Wert |
|---|---|
| Unterstützte Mindestversion (Client) |
Windows XP mit SP2 [nur Desktop-Apps] |
| Unterstützte Mindestversion (Server) |
Windows Server 2003 [nur Desktop-Apps] |
| Ende des Supports (Client) |
Windows XP mit SP3 |
| Ende des Supports (Server) |
Windows Server 2003 |
| Header |
|
| Bibliothek |
|
| DLL |
|
Siehe auch