NetServerTransportAddEx 関数 (lmserver.h)
NetServerTransportAddEx 関数は、指定されたサーバーをトランスポート プロトコルにバインドします。 この拡張関数を使用すると、呼び出し元アプリケーションは 、SERVER_TRANSPORT_INFO_0、 SERVER_TRANSPORT_INFO_1、 SERVER_TRANSPORT_INFO_2、またはSERVER_TRANSPORT_INFO_3情報レベル を 指定できます。
構文
NET_API_STATUS NET_API_FUNCTION NetServerTransportAddEx(
[in] LMSTR servername,
[in] DWORD level,
[in] LPBYTE bufptr
);
パラメーター
[in] servername
関数を実行するリモート サーバーの名前を指定する文字列へのポインター。 このパラメーターが NULL の場合は、ローカル コンピューターが使用されます。
[in] level
データの情報レベルを示す値を指定します。 このパラメーターには、次の値のいずれかを指定できます。
値 | 説明 |
---|---|
|
ネットワーク上の名前、アドレス、場所など、トランスポート プロトコルに関する情報を指定します。 bufptr パラメーターは、SERVER_TRANSPORT_INFO_0構造体を指します。 |
|
名前、アドレス、ネットワークの場所、ドメインなど、トランスポート プロトコルに関する情報を指定します。 bufptr パラメーターは、SERVER_TRANSPORT_INFO_1構造体を指します。 |
|
レベル 1 と同じ情報を指定し、 svti2_flags メンバーを追加します。 bufptr パラメーターは、SERVER_TRANSPORT_INFO_2構造体を指します。 |
|
資格情報を追加して、レベル 2 と同じ情報を指定します。 bufptr パラメーターは、SERVER_TRANSPORT_INFO_3構造体を指します。 |
[in] bufptr
データを含むバッファーへのポインター。 このデータの形式は 、level パラメーターの値によって異なります。
詳細については、「 ネットワーク管理機能バッファー」を参照してください。
戻り値
関数が成功した場合、戻り値はNERR_Success。
関数が失敗した場合、戻り値は次のいずれかのエラー コードになります。
リターン コード | 説明 |
---|---|
|
ユーザーには、要求された情報へのアクセス権がありません。 |
|
重複する名前がネットワーク上に存在します。 |
|
ドメイン名がネットワーク上で見つかりませんでした。 |
|
level パラメーターに指定された値が無効です。 |
|
パラメーターが無効です。
このエラーは、bufptr パラメーターが指すSERVER_TRANSPORT_INFO_0、SERVER_TRANSPORT_INFO_1、SERVER_TRANSPORT_INFO_2、または SERVER_TRANSPORT_INFO_3 構造体のトランスポート名またはトランスポート アドレス メンバーが NULL の場合に返されます。 このエラーは、bufptr パラメーターが指すSERVER_TRANSPORT_INFO_0、SERVER_TRANSPORT_INFO_1、SERVER_TRANSPORT_INFO_2、または SERVER_TRANSPORT_INFO_3 構造体のトランスポート アドレス長メンバーが、MAX_PATH (Windef.h ヘッダー ファイルで定義) より 0 以上である場合にも返されます。 このエラーは、SERVER_TRANSPORT_INFO_2の flags メンバー、または bufptr パラメーターによって指SERVER_TRANSPORT_INFO_3構造体に無効な値が含まれている場合にも返されます。 このエラーは、他の無効なパラメーターについても返されます。 |
|
十分なメモリがありません。 |
解説
NetServerTransportAddEx 関数を正常に実行できるのは、Administrators または Server Operators ローカル グループのメンバーだけです。
NetServerTransportAddEx 関数の呼び出しを使用してサーバーにトランスポート プロトコルを追加した場合、サーバーの再起動または再起動後も接続は維持されません。
NetServerComputerNameAdd 関数はユーティリティ関数です。 NetServerTransportEnum 関数と NetServerTransportAddEx 関数の機能を組み合わせて、エミュレートされたサーバー名を指定できます。
Windows Server 2008 および Windows Vista Service Pack 1 (SP1) では、Windows リモート ファイル サーバー (SRV) に登録されているすべての名前は、スコープ付き名前またはスコープなしの名前として指定されます。 その後、システムに追加されるすべての共有は、スコープのないすべての名前にアタッチされるか、単一のスコープ名にアタッチされます。 スコープ機能を使用するアプリケーションは、スコープ付きエンドポイントとして新しい名前を登録してから、適切なスコープで共有を作成する必要があります。 このように、ネットワーク管理およびネットワーク共有管理機能の従来の使用は、共有と名前をスコープ外の名前として登録し続けるので、いかなる影響も受けられません。
スコープ付きエンドポイントは、level パラメーターが 2 に設定された NetServerTransportAddEx 関数を呼び出し、bufptr パラメーターがメンバーに設定されたSVTI2_SCOPED_NAMEビット値を持つSERVER_TRANSPORT_INFO_2構造体svti2_flags指すことによって作成されます。 スコープ付きエンドポイントは、level パラメーターが 3 に設定された NetServerTransportAddEx 関数を呼び出し、bufptr パラメーターがメンバーに設定されたSVTI2_SCOPED_NAMEビット値を持つSERVER_TRANSPORT_INFO_3構造体svti3_flags指すことでも作成されます。
トランスポートに対してSVTI2_SCOPED_NAMEビット値が設定されている場合、NetShareAdd 関数を使用して、対応するサーバー名 (SHARE_INFO_503 構造体のshi503_servername メンバー) をスコープ指定して共有を追加できます。 SVTI2_SCOPED_NAME ビット値に登録されているトランスポートと、 メンバー に指定された名前 shi503_servername 場合、スコープ指定された方法で共有の追加は成功しません。
NetShareAdd 関数は、servername パラメーターで指定されたリモート サーバーにスコープ付き共有を追加するために使用されます。 bufptr パラメーターで渡されるSHARE_INFO_503のshi503_servername メンバーで指定されたリモート サーバーは、NetServerTransportAddEx 関数をスコープ付きエンドポイントとして使用してトランスポート プロトコルにバインドされている必要があります。 SVTI2_SCOPED_NAME フラグは、トランスポート プロトコルのSERVER_TRANSPORT_INFO_2またはSERVER_TRANSPORT_INFO_3構造体のshi503_servername メンバーで指定されている必要があります。 NetShareDelEx 関数は、スコープ付き共有を削除するために使用されます。 NetShareGetInfo 関数と NetShareSetInfo 関数は、スコープ付き共有の情報を取得および設定するために使用されます。
スコープ付きエンドポイントは、通常、クラスター名前空間によって使用されます。
要件
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | lmserver.h (Include Lm.h) |
Library | Netapi32.lib |
[DLL] | Netapi32.dll |