Função NtGdiDdCreateSurface
[Essa função está sujeita a alterações com cada revisão do sistema operacional. Em vez disso, use o Microsoft DirectDraw e o Microsoft Direct3DAPIs; essas APIs isolam os aplicativos dessas alterações do sistema operacional e ocultam muitas outras dificuldades envolvidas na interação diretamente com drivers de exibição.]
Anexa uma superfície a outra superfície.
Sintaxe
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 para a estrutura DD_DIRECTDRAW_GLOBAL que representa o driver.
-
hSurface [in]
-
Identificador anterior para a mesma superfície. Usado se a superfície estiver sendo recriada após uma opção de modo.
-
puSurfaceDescription [in, out]
-
Ponteiro para a estrutura DDSURFACEDESC que descreve a superfície ou o buffer que o driver deve criar.
-
puSurfaceGlobalData [in, out]
-
Ponteiro para a estrutura DD_SURFACE_GLOBAL que contém dados de superfície que são compartilhados globalmente com várias superfícies.
-
puSurfaceLocalData [in, out]
-
Ponteiro para uma lista de estruturas de DD_SURFACE_LOCAL que descrevem os objetos de superfície criados pelo driver.
-
puSurfaceMoreData [in, out]
-
Ponteiro para uma estrutura DD_SURFACE_MORE que contém dados adicionais da superfície local.
-
puCreateSurfaceData [in, out]
-
Ponteiro para uma estrutura DD_CREATESURFACEDATA que contém as informações necessárias para criar uma superfície.
-
puhSurface [out]
-
É usado pela API do DirectDraw e não deve ser preenchido pelo driver.
Retornar valor
NtGdiDdCreateSurface retorna um dos seguintes códigos de retorno de chamada.
Código de retorno | Descrição |
---|---|
|
O driver executou a operação e retornou um código de retorno válido para essa operação. Se esse código for DD_OK, DirectDraw ou Direct3D continuará com a função . Caso contrário, DirectDraw ou Direct3D retornará o código de erro fornecido pelo driver e anulará a função. |
|
O driver não tem comentários sobre a operação solicitada. Se o driver precisar ter implementado um retorno de chamada específico, DirectDraw ou Direct3D relatará uma condição de erro. Caso contrário, o DirectDraw ou o Direct3D manipula a operação como se o retorno de chamada do driver não tivesse sido definido executando a implementação independente do dispositivo DirectDraw ou Direct3D. |
Comentários
É recomendável que seu aplicativo chame IDirectDraw7::CreateSurface em vez de usar essa função.
Ao criar uma cadeia de superfícies anexadas, como uma cadeia de troca ou cadeia ou mipmaps, NtGdiDdCreateSurfaceObject deve ser chamado primeiro para cada superfície. Em seguida, chame NtGdiDdAttachSurface para anexá-los. Por fim, chame NtGdiDdCreateSurface apenas para a primeira superfície na cadeia. Nesse caso, hSurface seria o identificador retornado por NtGdiDdCreateSurfaceObject para a primeira superfície da cadeia.
NtGdiDdCreateSurface só deve ser chamado para criar superfícies na memória de vídeo local e não local. Ele nunca deve ser chamado para criar superfícies de memória do sistema. Para criar superfícies de memória do sistema, use NtGdiDdCreateSurfaceObject .
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte |
Windows 2000 Professional [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte |
Windows 2000 Server [somente aplicativos da área de trabalho] |
Cabeçalho |
|
Confira também