Función SHInvokePrinterCommandW (shellapi.h)

Ejecuta un comando en un objeto de impresora.

Nota Esta función ha quedado en desuso a partir de Windows Vista. Se recomienda que, en su lugar, invoque verbos en impresoras a través de IContextMenu o ShellExecute.
 

Sintaxis

BOOL SHInvokePrinterCommandW(
  [in, optional] HWND    hwnd,
                 UINT    uAction,
  [in]           LPCWSTR lpBuf1,
  [in, optional] LPCWSTR lpBuf2,
                 BOOL    fModal
);

Parámetros

[in, optional] hwnd

Tipo: HWND

Identificador de la ventana primaria de las ventanas o cuadros de diálogo que se crean durante la operación.

uAction

Tipo: UINT

Tipo de operación de impresora que se va a realizar. Uno de los siguientes valores:

PRINTACTION_OPEN (0)

0x0. Abra la impresora especificada por lpBuf1. Se omite el parámetro lpBuf2 .

PRINTACTION_PROPERTIES (1)

0x1. Muestra las páginas de propiedades de la impresora especificada por lpBuf1. El parámetro lpBuf2 puede ser NULL o puede asignar un nombre a una hoja de propiedades específica para mostrar, ya sea por nombre o número. Si el valor alto de WORD de lpBuf2 es distinto de cero, se supone que este parámetro es un puntero a un búfer que contiene el nombre de la hoja que se va a abrir. De lo contrario, lpBuf2 se ve como el índice de base cero de la hoja de propiedades que se va a abrir.

PRINTACTION_NETINSTALL (2)

0x2. Instale la impresora de red especificada por lpBuf1. Se omite el parámetro lpBuf2 .

0x3. Cree un acceso directo a la impresora de red especificada por lpBuf1. El parámetro lpBuf2 especifica la unidad y la ruta de acceso de la carpeta en la que se va a crear el acceso directo. La impresora de red ya debe haberse instalado en el equipo local.

PRINTACTION_TESTPAGE (4)

0x4. Imprima una página de prueba en la impresora especificada por lpBuf1. Se omite el parámetro lpBuf2 .

PRINTACTION_OPENNETPRN (5)

0x5. Abra la impresora de red especificada por lpBuf1. Se omite el parámetro lpBuf2 .

PRINTACTION_DOCUMENTDEFAULTS (6)

0x6. Muestra las propiedades de documento predeterminadas para la impresora especificada por lpBuf1. Se omite el parámetro lpBuf2 .

PRINTACTION_SERVERPROPERTIES (7)

0x7. Muestra las propiedades del servidor de impresora especificado por lpBuf1. Se omite el parámetro lpBuf2 .

[in] lpBuf1

Tipo: LPCTSTR

Puntero a una cadena terminada en null que contiene información adicional para el comando de impresora. La información contenida en este parámetro depende del valor de uAction.

[in, optional] lpBuf2

Tipo: LPCTSTR

Puntero a una cadena terminada en null que contiene información adicional para el comando de impresora. La información contenida en este parámetro depende del valor de uAction.

fModal

Tipo: BOOL

TRUE para especificar que SHInvokePrinterCommand no debe devolver hasta que se complete el comando; FALSE si la función debe devolverse tan pronto como se inicialice el comando.

Valor devuelto

Tipo: BOOL

Devuelve TRUE si se ejecuta correctamente; de lo contrario, FALSE.

Comentarios

Cuando lpBuf1 especifica un nombre de impresora, el nombre puede ser el nombre de una impresora local o el servidor y compartir el nombre de una impresora de red. Al especificar un nombre de impresora de red, el nombre debe especificarse en este formato:

"\\<server><shared printer name>"

Esta función se implementa en las versiones 4.71 y posteriores de Shell. Para mantener la compatibilidad con versiones anteriores de Shell, esta función no se debe usar explícitamente. En su lugar, las funciones LoadLibrary y GetProcAddress deben usarse para obtener la dirección de la función.

Nota

El encabezado shellapi.h define SHInvokePrinterCommand como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutro de codificación con código que no es neutral de codificación puede provocar discrepancias que dan lugar a errores de compilación o en tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional, Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado shellapi.h
Library Shell32.lib
Archivo DLL Shell32.dll (versión 4.71 o posterior)