Exportar (0) Imprimir
Expandir todo

Convenciones para Prototipos de función

Actualizado: junio de 2010

La biblioteca nativa en tiempo en ejecución del servicio de Windows Azure incluye prototipos de función en genérico, UTF-8 y versiones Unicode. Los prototipos se pueden compilar para crear los prototipos UTF-8 o los prototipos Unicode. Los tres prototipos se describen en este tema y se ilustran mediante ejemplos de código para la función Función RoleEnvironmentGetConfigurationSetting.

noteNota
Estas convenciones son similares a las definidas para la API de Windows, excepto en que los prototipos de función de la biblioteca nativa en tiempo de ejecución del servicio de Windows Azure son UTF-8 en lugar de ANSI.

La biblioteca nativa en tiempo de ejecución del servicio de Windows Azure define todas las características utilizando STDAPI, que indica que la función devuelve un HRESULT.

A continuación se muestra un ejemplo de un prototipo genérico:

STDAPI
RoleEnvironmentGetConfigurationSettingValue(
    __in LPCTSTR name,
    __out_ecount(cchDest) LPTSTR pszDest,
    __in size_t cchDest,
    __out_opt size_t *pcchRequiredDestSize);

El archivo de encabezado proporciona el nombre de función genérico implementado como una macro.

#ifdef UNICODE
#define RoleEnvironmentGetConfigurationSettingValue  \ 
        RoleEnvironmentGetConfigurationSettingValueW
#else
#define RoleEnvironmentGetConfigurationSettingValue \ 
        RoleEnvironmentGetConfigurationSettingValueA
#endif /* !UNICODE */
#endif

El preprocesador expande la macro en la nombre de función UTF-8 o Unicode. La letra “A” (UTF-8) o “W” (Unicode) se agrega al final del nombre de función genérico, según corresponda. A continuación, el archivo de encabezado proporciona dos prototipos específicos, uno para UTF-8 y otro para Unicode, como se muestra en los ejemplos siguientes.

STDAPI
RoleEnvironmentGetConfigurationSettingValueA(
    __in LPCSTR name,
    __out_ecount(cchDest) LPSTR pszDest,
    __in size_t cchDest,
    __out_opt size_t *pcchRequiredDestSize
STDAPI
RoleEnvironmentGetConfigurationSettingValueW(
    __in LPCWSTR name,
    __out_ecount(cchDest) LPWSTR pszDest,
    __in size_t cchDest,
    __out_opt size_t *pcchRequiredDestSize);

Como se explica en Tipos de datos de Windows para las cadenas, el prototipo genérico de la función utiliza el tipo de datos LPCTSTR para el parámetro de texto. Sin embargo, el prototipo de la página de códigos de Windows utiliza el tipo LPCSTR, y el prototipo Unicode utiliza LPCWSTR.

Para todas las características con argumentos de texto, las aplicaciones deben utilizar normalmente los prototipos genéricos de la función. Si una aplicación define “UNICODE” antes de las instrucciones #include para los archivos de encabezado o durante la compilación, las instrucciones se generarán en funciones Unicode.

La aplicación debe utilizar siempre un prototipo genérico de la función con cadena y tipos de caracteres genéricos. Todos los nombres de funciones que terminen con una “W” mayúscula utilizan Unicode, es decir, carácter, parámetros anchos.

Vea también

Mostrar:
© 2014 Microsoft