Bagikan melalui


Fungsi WSAEnumNameSpaceProvidersExA (winsock2.h)

Fungsi WSAEnumNameSpaceProvidersEx mengambil informasi tentang penyedia namespace yang tersedia.

Sintaks

INT WSAAPI WSAEnumNameSpaceProvidersExA(
  [in, out] LPDWORD                lpdwBufferLength,
  [out]     LPWSANAMESPACE_INFOEXA lpnspBuffer
);

Parameter

[in, out] lpdwBufferLength

Pada input, jumlah byte yang terkandung dalam buffer yang diacu oleh lpnspBuffer. Pada output (jika fungsi gagal, dan kesalahannya adalah WSAEFAULT), jumlah minimum byte yang akan dialokasikan untuk buffer lpnspBuffer untuk memungkinkannya mengambil semua informasi yang diminta. Buffer yang diteruskan ke WSAEnumNameSpaceProvidersEx harus cukup untuk menyimpan semua informasi namespace.

[out] lpnspBuffer

Buffer yang diisi dengan struktur WSANAMESPACE_INFOEX . Struktur yang dikembalikan terletak secara berturut-turut di kepala buffer. Informasi berukuran variabel yang direferensikan oleh pointer dalam struktur menunjuk ke lokasi dalam buffer yang terletak di antara akhir struktur berukuran tetap dan akhir buffer. Jumlah struktur yang diisi adalah nilai pengembalian WSAEnumNameSpaceProvidersEx.

Nilai kembali

Fungsi WSAEnumNameSpaceProvidersEx mengembalikan jumlah struktur WSANAMESPACE_INFOEX yang disalin ke dalam lpnspBuffer. Jika tidak, nilai SOCKET_ERROR dikembalikan, dan nomor kesalahan tertentu dapat diambil dengan memanggil WSAGetLastError.

Kode kesalahan Makna
WSAEFAULT
Parameter lpnspBuffer adalah penunjuk NULL atau panjang buffer, lpdwBufferLength, terlalu kecil untuk menerima semua struktur WSANAMESPACE_INFOEX yang relevan dan informasi terkait. Ketika kesalahan ini dikembalikan, panjang buffer yang diperlukan dikembalikan dalam parameter lpdwBufferLength .
WSANOTINITIALISED
WS2_32.DLL belum diinisialisasi. Aplikasi harus terlebih dahulu memanggil WSAStartup sebelum memanggil fungsi Windows Sockets apa pun.
WSA_NOT_ENOUGH_MEMORY
Memori tidak cukup untuk melakukan operasi.

Keterangan

Fungsi WSAEnumNameSpaceProvidersEx adalah versi yang disempurnakan dari fungsi WSAEnumNameSpaceProviders . Blob data khusus penyedia yang terkait dengan entri namespace yang diteruskan dalam parameter lpProviderInfo ke fungsi WSCInstallNameSpaceEx dapat dikueri menggunakan fungsi WSAEnumNameSpaceProvidersEx .

Saat ini, satu-satunya penyedia namespace yang disertakan dengan Windows yang menetapkan informasi dalam anggota ProviderSpecific dari struktur WSANAMESPACE_INFOEX adalah penyedia NS_EMAIL. Format anggota ProviderSpecific untuk penyedia namespace NS_EMAIL adalah struktur NAPI_PROVIDER_INSTALLATION_BLOB .

Ketika UNICODE atau _UNICODE ditentukan, WSAEnumNameSpaceProvidersEx didefinisikan ke WSAEnumNameSpaceProvidersExW, versi Unicode dari fungsi ini. Parameter lpnspBuffer didefinisikan ke jenis data LPSAWSANAMESPACE_INFOEXW dan struktur WSANAMESPACE_INFOEXW dikembalikan pada keberhasilan.

Ketika UNICODE atau _UNICODE tidak ditentukan, WSAEnumNameSpaceProvidersEx didefinisikan ke WSAEnumNameSpaceProvidersExA, versi ANSI dari fungsi ini. Parameter lpnspBuffer didefinisikan ke jenis data LPSAWSANAMESPACE_INFOEXA dan struktur WSANAMESPACE_INFOEXA dikembalikan pada keberhasilan.

Windows 8.1 dan Windows Server 2012 R2: Fungsi WSAEnumNameSpaceProvidersExW didukung untuk aplikasi Windows Store di Windows 8.1, Windows Server 2012 R2, dan yang lebih baru.

Catatan

Header winsock2.h mendefinisikan WSAEnumNameSpaceProvidersEx sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta praprosem UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 8.1, Windows Vista [aplikasi desktop | Aplikasi UWP]
Server minimum yang didukung Windows Server 2008 [aplikasi desktop | Aplikasi UWP]
Target Platform Windows
Header winsock2.h
Pustaka Ws2_32.lib
DLL Ws2_32.dll

Lihat juga

NAPI_PROVIDER_INSTALLATION_BLOB

WSAEnumNameSpaceProviders

WSANAMESPACE_INFOEX

WSCEnumNameSpaceProvidersEx32

WSCInstallNameSpaceEx32