Función NtGdiDdCreateSurface
[Esta función está sujeta a cambios con cada revisión del sistema operativo. En su lugar, use Microsoft DirectDraw y Microsoft Direct3DAPIs; estas API aíslan las aplicaciones de estos cambios en el sistema operativo y ocultan muchas otras dificultades implicadas en la interacción directa con los controladores de pantalla.
Adjunta una superficie a otra superficie.
Sintaxis
DWORD APIENTRY NtGdiDdCreateSurface(
_In_ HANDLE hDirectDraw,
_In_ HANDLE *hSurface,
_Inout_ DDSURFACEDESC *puSurfaceDescription,
_Inout_ DD_SURFACE_GLOBAL *puSurfaceGlobalData,
_Inout_ DD_SURFACE_LOCAL *puSurfaceLocalData,
_Inout_ DD_SURFACE_MORE *puSurfaceMoreData,
_Inout_ DD_CREATESURFACEDATA *puCreateSurfaceData,
_Out_ HANDLE *puhSurface
);
Parámetros
-
hDirectDraw [in]
-
Identificador de la estructura DD_DIRECTDRAW_GLOBAL que representa el controlador.
-
hSurface [in]
-
Identificador anterior a la misma superficie. Se usa si la superficie se vuelve a crear después de un modificador de modo.
-
puSurfaceDescription [in, out]
-
Puntero a la estructura DDSURFACEDESC que describe la superficie o el búfer que debe crear el controlador.
-
puSurfaceGlobalData [in, out]
-
Puntero a la estructura DD_SURFACE_GLOBAL que contiene datos de superficie que se comparten globalmente con varias superficies.
-
puSurfaceLocalData [in, out]
-
Puntero a una lista de DD_SURFACE_LOCAL estructuras que describen los objetos de superficie creados por el controlador.
-
puSurfaceMoreData [in, out]
-
Puntero a una estructura de DD_SURFACE_MORE que contiene datos de superficie locales adicionales.
-
puCreateSurfaceData [in, out]
-
Puntero a una estructura de DD_CREATESURFACEDATA que contiene la información necesaria para crear una superficie.
-
puhSurface [out]
-
La API de DirectDraw la usa y el controlador no debe rellenarlo.
Valor devuelto
NtGdiDdCreateSurface devuelve uno de los siguientes códigos de devolución de llamada.
Código devuelto | Descripción |
---|---|
|
El controlador ha realizado la operación y ha devuelto un código de retorno válido para esa operación. Si este código es DD_OK, DirectDraw o Direct3D continúa con la función . De lo contrario, DirectDraw o Direct3D devuelven el código de error proporcionado por el controlador y anula la función. |
|
El controlador no tiene ningún comentario sobre la operación solicitada. Si es necesario que el controlador haya implementado una devolución de llamada determinada, DirectDraw o Direct3D notifican una condición de error. De lo contrario, DirectDraw o Direct3D controlan la operación como si no se hubiera definido la devolución de llamada del controlador mediante la ejecución de la implementación independiente del dispositivo de DirectDraw o Direct3D. |
Comentarios
Se recomienda que la aplicación llame a IDirectDraw7::CreateSurface en lugar de usar esta función.
Al crear una cadena de superficies adjuntas, como una cadena de intercambio o una cadena o mapas mip, se debe llamar a NtGdiDdCreateSurfaceObject para cada superficie primero. A continuación, llame a NtGdiDdAttachSurface para adjuntarlos. Por último, llame a NtGdiDdCreateSurface para la primera superficie de la cadena solo. En este caso, hSurface sería el identificador devuelto por NtGdiDdCreateSurfaceObject para la primera superficie de la cadena.
Solo se debe llamar a NtGdiDdCreateSurface para crear superficies en memoria de vídeo local y no local. Nunca se debe llamar a para crear superficies de memoria del sistema. Para crear superficies de memoria del sistema, use NtGdiDdCreateSurfaceObject en su lugar.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible |
Windows 2000 Professional [solo aplicaciones de escritorio] |
Servidor mínimo compatible |
Windows 2000 Server [solo aplicaciones de escritorio] |
Encabezado |
|
Consulte también
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de