ネットワークドライブの自動割り当て(C言語)

説明:

“\\foo\bar”というネットワークドライブを割り当てる。割り当ての際のユーザ名は“hogehoge”、パスワードは“herohero”である。割り当ての際には、空いているローカルドライブを自動的に探し出して割り当てる。

なお、以下の例はNTの場合である。

キーワード:

WNetUseConnection

サンプルコード:

void AutoConnect()
{
	NETRESOURCE nr;
	char AccessName[1000];
	DWORD AccessNameSize = 1000;
	DWORD Flags;
	DWORD ConInfo;
	DWORD lResult;

	nr.dwType = RESOURCETYPE_DISK;
	nr.lpLocalName = NULL;
	nr.lpRemoteName = "\\\\foo\\bar";
	nr.lpProvider = NULL;

	Flags = 0
		| CONNECT_INTERACTIVE /* パスワードが誤っていた場合などにパスワード再入力用ダイアログボックスを表示するなど、ユーザとの対話を行う */
		| CONNECT_PROMPT /* デユーザ名やパスワードなどをパスワード入力用ダイアログボックスを使用して入力する */
		| CONNECT_REDIRECT /* ネットワークドライブを自動で選択し、確立した接続をドライブに割り当てる */
		| CONNECT_UPDATE_PROFILE; /* 次回ログオン時に再接続する */

	/* 以下はNTの例 */
	lResult = WNetUseConnection(
		NULL,
		&nr,
		"herohero",
		"hogehoge",
		Flags,
		AccessName,
		&AccessNameSize,
		&ConInfo);

	if(lResult == NO_ERROR) {
		printf("正常終了.\n");
		if(ConInfo & CONNECT_LOCALDRIVE) printf("ローカルドライブ'%s'に割り当てられた.\n", AccessName);
	} else {
		printf("エラー(%d).\n", lResult);
	}
}

(original text:1999/03/02 更新)

本ドキュメントの内容は保証しません。本ドキュメントによって生じた結果について、一切の責任を負いません。