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 |
---|---|
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 . | |
WS2_32.DLL belum diinisialisasi. Aplikasi harus terlebih dahulu memanggil WSAStartup sebelum memanggil fungsi Windows Sockets apa pun. | |
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 |