2017-05-18 10 views
0
DWORD GetAdaptersInfo(PIP_ADAPTER_INFO pAdapterInfo, PULONG pOutBufLen) 
{ 
    pAdapterInfo->AdapterName 
    return GetAdaptersInfo(pAdapterInfo, pOutBufLen) 
} 

AdapterNameの値をpAdapterInfoに変更して新しいPIP_ADAPTER_INFOを返すことは可能でしょうか?このコードでAdapterNameの値をどのように変更できますか?

+0

私は変更が可能だと思いますが、管理しにくいのでお勧めできません –

+0

これらのタイプは何ですか? –

答えて

0

私はあなたが何を扱っているのか全く分かりません。しかし、私はこれは(明らかなエラーが固定され、AdapterNameが文字列であると仮定)働くことができないことを伝えることができ細部の私の無知にもかかわらず:

DWORD GetAdaptersInfo(PIP_ADAPTER_INFO pAdapterInfo, PULONG pOutBufLen) 
{ 
    pAdapterInfo->AdapterName = "foo"; 
    return GetAdaptersInfo(pAdapterInfo, pOutBufLen); 
} 

あなたは再帰関数を呼び出しているし、それに終わりはありません再帰。私はDWORD GetAdaptersInfo(PIP_ADAPTER_INFO pAdapterInfo, PULONG pOutBufLen)が存在し、呼び出すことができると仮定し

DWORD GetAdaptersInfo(PIP_ADAPTER_INFO pAdapterInfo, PULONG pOutBufLen,STRING_t newName) 
{ 
    pAdapterInfo->AdapterName = newName; 
    return GetAdaptersInfo(pAdapterInfo, pOutBufLen); 
} 

:代わりに、あなたはこのような何かを行うことができます。

しかしので(それが値であれば)彼のpAdapterInfo意志、値型または参照型であることPID_ADAPTER_INFOにdepeding、GetAdapterInfoの呼び出し側は、彼が取得AdapterInfoは別の名前から来ていることがわかりする機会を持っていないことに注意してくださいまだ古い名前を保持しています。

関連する問題