¿El contenido del archivo mapeado de memoria de Windows siempre se pone a cero por defecto?

He determinado empíricamente que, en mi sistema, un archivo mapeado en memoria creado para tener un cierto tamaño siempre está completamente a cero por defecto. Por ejemplo, usando la llamada

HANDLE hMM = 
    CreateFileMapping (h,
                        NULL,
                        PAGE_READWRITE,
                        0,
                        0x01400000,//20MB
                        NULL);

.. y escribir en una vista mapeada de ese archivo siempre da como resultado un archivo de 20 MB que está completamente a cero, excepto donde he escrito datos distintos de cero.

Me pregunto si se puede suponer que las partes no inicializadas del archivo son ceros. ¿Se garantiza este comportamiento en Windows en general?

Respuestas a la pregunta(3)

Su respuesta a la pregunta