::NetServerGetInfo を見つけた.
そこにあるサンプルをそのまま VC 6 でビルドして,動作を確認できた.
VC 6 では UNICODE exe をビルドできるが,デバッグで変数がうまく認識されないのでやり辛い.
そのため,デバックビルドは _MBCS とすることがほとんど.
それで,サンプルを変更しようとしたが,文字列関係が普通の API と異なる( ::~A と ::~W )?
1 つ目の引数の pszServerName は LPTSTR を与えている.
それで MSDN 2001/10 などを見ると,Win9x と WinNT で異なるみたい.

それで,いろいろとやって…
ドキュメントの通りで,Win9x は char* ,WinNT は LPWSTR ということみたい.
VC 6 では,次の様に LPTSTR(server…) とすることで良さそう.

VC 2022 などではこれから. LMSTR になっている.

~\Windows Kits\10\include\…\lmcons.h より
#if defined( _WIN32_WINNT ) || defined( WINNT ) || defined( __midl ) || defined( FORCE_UNICODE )
#define LMSTR LPWSTR
#define LMCSTR LPCWSTR
#else
#define LMSTR LPSTR
#define LMCSTR LPCSTR
#endif
VC 8 以降でビルド可能にするため LPWSTR を LMSTR に.
また VC 6 でもビルドできる様に次を追加.
#ifndef LMSTR
#define LMSTR LPTSTR
// #define LMCSTR LPCWSTR
#endif
エラーコード.
ERROR_ACCESS_DENIED 5 (0x 5) アクセスが拒否されました。
ERROR_BAD_NETPATH 53 (0x 35) ネットワーク パスが見つかりませんでした。
ERROR_INVALID_PARAMETER 87 (0x 57) パラメーターが正しくありません。
RPC_S_INVALID_BINDING 1702 (0x6A6) バインド ハンドルが無効です。
RPC_S_INVALID_NET_ADDR 1707 (0x6AB) ネットワーク アドレスが無効です。
DNS ホスト名から NetBIOS コンピュータ名をプログラム的に取得する (Windows/C++/Win32API)
NetServerGetInfo で ローカルコンピュータ名を取得する
リモートコンピュータのOS情報の取得
[…] ::NetServerGetInfo の使い方 […]