3.1.4.4.4 RpcGetPrinterDriverDirectory (Opnum 12)
RpcGetPrinterDriverDirectory retrieves the path of the printer driver directory.
-
DWORD RpcGetPrinterDriverDirectory( [in, string, unique] STRING_HANDLE pName, [in, string, unique] wchar_t* pEnvironment, [in] DWORD Level, [in, out, unique, size_is(cbBuf), disable_consistency_check] BYTE* pDriverDirectory, [in] DWORD cbBuf, [out] DWORD* pcbNeeded );
pName: Specified in Print Server Name Parameters (section 3.1.4.1.4).
pEnvironment: Specified in Environment Name Parameters (section 3.1.4.1.3).
Level: The value 0x00000001.
pDriverDirectory: An optional pointer to BUFFER, as specified in String Query Parameters (section 3.1.4.1.7). If cbBuf is zero, this parameter SHOULD be NULL.
cbBuf: See String Query Parameters (section 3.1.4.1.7).
pcbNeeded: See String Query Parameters (section 3.1.4.1.7).
Return Values: This method MUST return zero (ERROR_SUCCESS) to indicate successful completion or a nonzero Windows error code to indicate failure [MS-ERREF].
Upon receiving this message, the server MUST validate parameters by performing the validation steps specified in:
Print Server Name Parameters (section 3.1.4.1.4).
Environment Name Parameters (section 3.1.4.1.3).
String Query Parameters (section 3.1.4.1.7).
Additional validation MAY be performed.<332>
If parameter validation fails, the server MUST fail the operation immediately and return a nonzero error response to the client. Otherwise, the server MUST process the message and compose a response to the client as follows:
With the path of the printer driver directory on the print server, perform the processing and response steps specified in String Query Parameters.
Return the status of the operation.