Compartir a través de


Función DirectDrawCreate (ddraw.h)

Crea una instancia de un objeto DirectDraw. Un objeto DirectDraw que se crea mediante esta función no admite el conjunto completo de interfaces de Direct3D en DirectX 7.0. Para crear un objeto DirectDraw capaz de exponer todas las características de Direct3D en DirectX 7.0, use la función DirectDrawCreateEx .

Sintaxis

HRESULT DirectDrawCreate(
  [in]  GUID         *lpGUID,
  [out] LPDIRECTDRAW *lplpDD,
  [in]  IUnknown     *pUnkOuter
);

Parámetros

[in] lpGUID

Puntero al identificador único global (GUID) que representa el controlador que se va a crear. Puede ser NULL para indicar el controlador de pantalla activo o puede pasar una de las marcas siguientes para restringir el comportamiento del controlador de pantalla activo con fines de depuración:

DDCREATE_EMULATIONONLY

El objeto DirectDraw usa la emulación para todas las características; no aprovecha las características compatibles con hardware.

DDCREATE_HARDWAREONLY

El objeto DirectDraw nunca emula las características no admitidas por el hardware. Se produce un error en los intentos de llamar a métodos que requieren características no admitidas y se devuelven DDERR_UNSUPPORTED.

[out] lplpDD

Puntero a una variable que se va a establecer en un puntero de interfaz IDirectDraw válido si la llamada se realiza correctamente.

[in] pUnkOuter

Permite compatibilidad futura con las características de agregación COM. Sin embargo, en la actualidad, esta función devuelve un error si este parámetro es algo que no es NULL.

Valor devuelto

Si la función se realiza correctamente, el valor devuelto se DD_OK.

Si se produce un error, la función puede devolver uno de los siguientes valores de error:

  • DDERR_DIRECTDRAWALREADYCREATED
  • DDERR_GENERIC
  • DDERR_INVALIDDIRECTDRAWGUID
  • DDERR_INVALIDPARAMS
  • DDERR_NODIRECTDRAWHW
  • DDERR_OUTOFMEMORY

Comentarios

Esta función intenta inicializar un objeto DirectDraw y, a continuación, establece un puntero al objeto si la llamada se realiza correctamente.

En equipos con varios monitores, si especifica NULL para lpGUID, el objeto DirectDraw se ejecuta en modo de emulación cuando se establece el nivel cooperativo normal. Para usar la aceleración de hardware en estos equipos, especifique el GUID del dispositivo.

Debe usar LoadLibrary para vincular explícitamente a Ddraw.dll y, a continuación, usar GetProcAddress para acceder a la función DirectDrawCreate .

Requisitos

Requisito Value
Plataforma de destino Windows
Encabezado ddraw.h
Library Ddraw.lib
Archivo DLL Ddraw.dll