EngSetPrinterData 関数 (winddi.h)
EngSetPrinterData 関数は、Windows 2000 以降では廃止されています。
以前のバージョンの Windows EngSetPrinterData では、指定したプリンターの構成データが設定されます。
構文
ENGAPI DWORD EngSetPrinterData(
[in] HANDLE hPrinter,
[in] LPWSTR pType,
[in] DWORD dwType,
[in] LPBYTE lpbPrinterData,
[in] DWORD cjPrinterData
);
パラメーター
[in] hPrinter
構成データを設定する必要があるプリンターを処理します。 これは、DrvEnablePDEV の hDriver パラメーターとして渡されるハンドルです。 「解説」を参照してください。
[in] pType
設定するデータを識別する null で終わる文字列へのポインター。
[in] dwType
設定する情報の種類を指定するフラグです。 このパラメーターには、次のいずれかの値を指定できます。
値 | 説明 |
---|---|
REG_BINARY | 任意の形式のバイナリ データ。 |
REG_DWORD | 32 ビット数値。 |
REG_DWORD_BIG_ENDIAN | ビッグ エンディアン形式の 32 ビット数値。つまり、単語の最上位バイトは下位バイトです。 |
REG_DWORD_LITTLE_ENDIAN | リトル エンディアン形式の 32 ビット数値 (REG_DWORDと同じ) は、単語の最上位バイトが高位バイトであることを意味します |
REG_EXPAND_SZ | 環境変数 ("%PATH%" など) への未展開の参照を含む null で終わる文字列。 Unicode 関数と ANSI 関数のどちらを使用するかに応じて、Unicode または ANSI 文字列になります。 |
REG_LINK | Unicode シンボリック リンク。 |
REG_MULTI_SZ | null で終わる文字列の配列。配列は、2 つの null 文字で終わります。 |
REG_NONE | 値型が定義されていません。 |
REG_RESOURCE_LIST | デバイス ドライバー リソースの一覧。 |
REG_SZ | null で終わる文字列。 Unicode 関数と ANSI 関数のどちらを使用するかに応じて、Unicode または ANSI 文字列になります。 |
[in] lpbPrinterData
設定するプリンター構成データへのポインター。 指し示されるデータの種類は dwType によって決まります。
[in] cjPrinterData
lpbPrinterData のサイズをバイト単位で指定します。
戻り値
EngSetPrinterData は、最後にログに記録されたエラー メッセージを返します。
解説
Microsoft Windows 2000 以降、この関数は廃止されました。 EngSetPrinterData 関数と DrvEnablePDEV 関数の呼び出しで使用されるハンドルには、異なるアクセス権があります。そのため、これらの関数は連携して機能しなくなりました。 DrvEnablePDEV 関数の呼び出しで使用される hDriver パラメーターは、PRINTER_ACCESS_USEアクセス権で開かれます。 これに対し、 EngSetPrinterData 関数の呼び出しで使用される hPrinter パラメーターは、PRINTER_ALL_ACCESSアクセス権で開かれている必要があります。 その結果、カーネル モード プリンター ドライバー ( EngSetPrinterData を呼び出すことができる唯一の種類のプリンター ドライバー) が EngSetPrinterData を使用してプリンターに関する情報をレジストリに書き込む方法はありません。
プリンターのアクセス権の詳細については、PRINTER_DEFAULTS構造 (Windows SDK のドキュメントで説明) を参照してください。
要件
サポートされている最小のクライアント | Windows 2000 以降のバージョンの Windows オペレーティング システムで使用できます。 |
対象プラットフォーム | ユニバーサル |
Header | winddi.h (Winddi.h を含む) |
Library | Win32k.lib |
[DLL] | Win32k.sys |