プリンターのIPを取得する必要がありますが、あまり成功していません。すでにさまざまな方法で試しています。現在、私のコードは次のようになっています。
void Spl::GetIpAddress(LPSTR printerName)
{
HANDLE hPrinter;
PBYTE wAddress = NULL;
DWORD size;
DWORD status;
LPSTR portName = GetProt(printerName);
std::ostringstream strTemp;
strTemp << portName;
string temp = ",XcvPort " + strTemp.str();
//temp = ,XcvPort 192.168.2.247
LPSTR tempLPSTR((LPSTR)temp.c_str());
if(OpenPrinter(tempLPSTR,&hPrinter,NULL))
{
if (XcvData(hPrinter, L"IPAddress", NULL, 0,wAddress,31, &size,&status))
{
}
}
}
彼が XcvData 関数を呼び出そうとすると、彼女は「IF」を入力しません。そして、私のオブジェクト「wAddress」は空のままです。届かないから?
OBS: このコードは msdn ドキュメントに基づいています: http://msdn.microsoft.com/en-us/library/windows/hardware/ff562761(v=vs.85).aspx
感謝!