DirectInput DirectInput C/C++ 레퍼런스 인터페이스 IDirectInput8 CreateDevice   [목차열람] [주소복사] [슬롯비우기]
IDirectInput8::CreateDevice 메서드
 
Microsoft DirectX 9.0

IDirectInput8::CreateDevice 메서드


지정의 글로벌 일의 식별자 (GUID)에 근거해, 장치의 인스턴스를 생성 해 초기화해,IDirectInputDevice8 인터페이스를 얻어온다.

구문

HRESULT CreateDevice(      

    REFGUID rguid,     LPDIRECTINPUTDEVICE *lplpDirectInputDevice,     LPUNKNOWN pUnkOuter );

파라미터

rguid
C++ 의 경우, 목적의 입력 장치의 인스턴스 GUID 에 대한 참조값. C 의 경우, 이 GUID 의 주소 ( 「주의」를 참조할것). 이 GUID 는,IDirectInput8::EnumDevices 메서드를 개입시켜 얻어온다인가, 또는, 다음일 전정의된 GUID 의 1 개를 사용한다. 이 GUID 값을 유효하게 하려면 , 애플리케이션은, 소스 파일의 선두에서, 다른 모든 프리프로세서 지시문보다 전에 INITGUID 를 정의하는지, 또는 DXGUID.LIB 에 링크해야 한다.
GUID_SysKeyboard
디폴트의 시스템키 보드.
GUID_SysMouse
디폴트의 시스템 마우스.
lplpDirectInputDevice
성공시에 IDirectInputDevice8 인터페이스 포인터를 얻어온다 변수의 주소.
pUnkOuter
COM 집성에 대한 제어 개체의 IUnknown 인터페이스의 주소. 인터페이스가 집성되지 않은 경우에는 NULL. 보통, 호출측은 NULL 를 건네준다.

반환값

성공했을 경우는, DI_OK 를 돌려준다.

실패했을 경우는, 다음의 몇개의 값을 돌려준다.

DIERR_DEVICENOTREG장치 또는 장치 인스턴스가 Microsoft® DirectInput® 에 등록되지 않았다. 이 값은, 표준의 COM 반환값인 REGDB_E_CLASSNOTREG 에 동일하다.
DIERR_INVALIDPARAM무효인 파라미터가, 돌아오는 함수에 건네졌는지, 개체가 그 함수를 호출할 수 있는 상태에 없었다. 이 값은, 표준의 COM 반환값인 E_INVALIDARG 에 동일하다.
DIERR_NOINTERFACE개체는, 지정의 인터페이스를 지원 하고 있지 않다. 이 값은, 표준의 COM 반환값인 E_NOINTERFACE 에 동일하다.
DIERR_NOTINITIALIZED이 개체는 초기화되지 않다.
DIERR_OUTOFMEMORYDirectInput 서브 시스템이 호출을 완료하는데 충분한 메모리를 할당할 수가 없었다. 이 값은, 표준의 COM 반환값인 E_OUTOFMEMORY 에 동일하다.


주의

punkOuter = NULL 를 지정해 이 메서드를 호출하는 것은,CoCreateInstance (&CLSID_DirectInputDevice, NULL, CLSCTX_INPROC_SERVER, riid, lplpDirectInputDevice)를 사용해 개체를 생성 한 후,Initialize 를 사용해 초기화하는 것으로 동등하다.

punkOuter != NULL 를 지정해 이 메서드를 호출하는 것은,CoCreateInstance (&CLSID_DirectInputDevice, punkOuter, CLSCTX_INPROC_SERVER, &IID_IUnknown, lplpDirectInputDevice)를 사용해 개체를 생성 하는 것으로 동등하다. 집성 한 개체는 수동으로 초기화해야 한다.



© 2002 Microsoft Corporation. All rights reserved.
↑TOP