// プリンタのプロパティシートの表示
static HRESULT ShowProertySheet(HWND hWnd, LPCTSTR szPrinerName)
{
HRESULT hr = S_OK;
HANDLE hPrinter = NULL;
PRINTER_DEFAULTS printerDefaults;
ZeroMemory(&printerDefaults, sizeof(printerDefaults));
BOOL br = ::OpenPrinter((LPTSTR)szPrinerName, &hPrinter, &printerDefaults);
if (br == NULL)
{
DWORD dwError = ::GetLastError();
return HRESULT_FROM_WIN32(dwError);
}
br = ::PrinterProperties(hWnd, hPrinter);
if (br == NULL)
{
DWORD dwError = ::GetLastError();
hr = HRESULT_FROM_WIN32(dwError);
// 処理続行。。
}
br = ::ClosePrinter(hPrinter);
if (br == NULL)
{
// 無視する。
}
return hr;
}