WNetGetUserA 関数 (winnetwk.h)
WNetGetUser 関数は、現在の既定のユーザー名、またはネットワーク接続の確立に使用されるユーザー名を取得します。
構文
DWORD WNetGetUserA(
[in] LPCSTR lpName,
[out] LPSTR lpUserName,
[in, out] LPDWORD lpnLength
);
パラメーター
[in] lpName
ネットワーク リソースにリダイレクトされたローカル デバイスの名前、またはローカル デバイスをリダイレクトせずに接続が確立されたネットワーク リソースのリモート名を指定する、null終了文字列を
このパラメーターが NULL または空の文字列
[out] lpUserName
null-terminated ユーザー名を受け取るバッファーへのポインター。
[in, out] lpnLength
lpUserName バッファーのサイズを文字で指定する変数へのポインター。 バッファーが十分な大きさではないために呼び出しが失敗した場合、この変数には必要なバッファー サイズが含まれます。
戻り値
関数が成功した場合、戻り値はNO_ERROR。
関数が失敗した場合、戻り値は システム エラー コード(次のいずれかの値など) です。
リターン コード | 形容 |
---|---|
|
lpName パラメーターで指定されたデバイスは、リダイレクトされたデバイスまたは接続されたネットワーク名ではありません。 |
|
後続の呼び出しでは、さらに多くのエントリを使用できます。 |
|
ネットワークは使用できません。 |
|
ネットワーク固有のエラーが発生しました。 エラーの説明を取得するには、WNetGetLastError 関数を呼び出します。 |
|
どのプロバイダーも、接続を持つローカル名を認識しません。 ただし、接続が属している可能性のあるプロバイダーが少なくとも 1 つでは、ネットワークを使用できません。 |
備考
WNetGetUser 関数は、分散ファイル システム (DFS) 上の共有を認識しません。 lpName パラメーターで指定された名前が、DFS 共有または DFS 共有を表すリモート リソースにリダイレクトされたローカル デバイスである場合、WNetGetUser 関数はERROR_NOT_CONNECTEDで失敗します。
例
次のコード サンプルは、WNetGetUser 関数を使用して、リダイレクトされたローカル デバイスまたはリモート ネットワーク リソースに関連付けられているユーザーの名前を取得する方法を示しています。
#ifndef UNICODE
#define UNICODE
#endif
#pragma comment(lib, "mpr.lib")
#include <windows.h>
#include <tchar.h>
#include <stdio.h>
#include <Winnetwk.h>
int wmain(int argc, wchar_t * argv[])
{
DWORD dwRetVal;
WCHAR UserName[MAX_PATH];
DWORD dwNameLength = MAX_PATH;
if (argc != 2) {
wprintf
(L"Usage: %s [Redirected-LocalDevice or Network-Resource-Remote-name\n",
argv[0]);
exit(1);
}
wprintf(L"Calling WNetGetUser with Network-Resource = %s\n", argv[1]);
dwRetVal = WNetGetUser(argv[1], UserName, &dwNameLength);
//
// If the call succeeds, print the user information.
//
if (dwRetVal == NO_ERROR) {
wprintf(L"WNetGetUser returned success\n");
wprintf(L"\tUsername=%s NameLength=%d\n", &UserName, dwNameLength);
exit(0);
}
else {
wprintf(L"WNetGetUser failed with error: %u\n", dwRetVal);
exit(1);
}
}
手記
winnetwk.h ヘッダーは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして WNetGetUser を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされる最小サーバー | Windows 2000 Server [デスクトップ アプリのみ] |
ターゲット プラットフォーム の |
ウィンドウズ |
ヘッダー | winnetwk.h |
ライブラリ | Mpr.lib |
DLL | Mpr.dll |
関連項目
ユーザー名 を取得する
WNetGetConnection の