質問

私はモジュールが存在するサービスと同じ場所にDHCPサーバーを管理するためのモジュールを書いています。

私は DHCPサーバーのAPIを使用して所定の位置にコードを持っています> のサブネットを作成し、DHCPの予約を追加することです。私実際に有効/サブネットスコープをアクティブ化されて行うことができるようしていないようです。

私はDhcpSetSubnetInfo( )SubnetStateDHCP_SUBNET_INFO構造セットのDhcpSubnetEnabledフィールドで仕事をするだろうと想定していたが、これは効果がないようです。

DHCPサーバーAPI Iの残りをスキャンすると、サブネット/スコープを設定するための任意の他の方法を見ることができません。

誰もがこれを行うために管理していますか?

ご協力いただきありがとうございます。

ニックます。

編集ます:

static bool enableSubnet( 
                    const std::wstring& server,
                    DWORD               dwSubnet
                    )
{
    LPDHCP_SUBNET_INFO pInfo = NULL;

    DWORD res = DhcpGetSubnetInfo(
                        server.c_str( ),
                        dwSubnet,
                        &pInfo
                        );

    if ( res != ERROR_SUCCESS )
    {
        DhcpRpcFreeMemory( pInfo );

        return false;
    }

    if ( pInfo->SubnetState == DhcpSubnetEnabled )
    {
        DhcpRpcFreeMemory( pInfo );

        return true;
    }

    DHCP_SUBNET_INFO info( *pInfo );

    info.SubnetState = DhcpSubnetDisabled;

    res = DhcpCreateSubnet( server.c_str( ), dwSubnet, &info );

    DhcpRpcFreeMemory( pInfo );

    if ( res != ERROR_SUCCESS )
    {
        return false;
    }

    res = DhcpGetSubnetInfo(
                        server.c_str( ),
                        dwSubnet,
                        &pInfo
                        );

    if ( res != ERROR_SUCCESS )
    {
        DhcpRpcFreeMemory( pInfo );

        return false;
    }

    bool retVal = ( pInfo->SubnetState == DhcpSubnetEnabled );

    if ( !retVal )
    {
        std::wcerr << L"Failed to enable subnet";
    }

    DhcpRpcFreeMemory( pInfo );

    return retVal;

}

コード、合格DhcpXX機能のすべてが、チェック機能が返すの虚偽のデバッグます:

    bool retVal = ( pInfo->SubnetState == DhcpSubnetEnabled );
役に立ちましたか?

解決

あなたは、上述したようにDhcpCreateSubnetフラグを設定してDhcpSubnetEnabledを呼び出してみましたか?おそらくあなたのコードは、すでにこれを行う - サブネットを作成し、有効にするために失敗した部分を投稿してください。

あなたはあまりにもエラーのためにすべてのあなたのWindowsのAPI呼び出しを確認してください。ここでも、いくつかのコードが失敗するかもしれないものを識別しやすくなります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top