Microsoft DirectX 8.0

その他のヘルパー関数

宣言 : Wxutil.h

EqualPins同じオブジェクト上に 2 つのピンがあるかどうかを確認する。
Int64x32Div32 a の 64 ビット値に ((a*b)+rnd)/c を実装する。
IsEqualObject同じオブジェクト上に 2 つのインターフェイスがあるかどうかを確認する。
llMulDiv a の 32 ビット値に ((a*b)+rnd)/c を実装する。
WaitDispatchingMessagesウィンドウ メッセージをディスパッチ中に、オブジェクトが通知済になるまで待つ。

EqualPins

その他のヘルパー関数

同じオブジェクト上に 2 つのピンがあるかどうかを確認する。

構文

BOOL EqualPins(
    IUnknown *pPin1,
    IUnknown *pPin2
);

パラメータ

pPin1
1 つのピンへのポインタ。
pPin2
もう 1 つのピンへのポインタ。

戻り値

同じオブジェクト上に両方のピンがある場合は TRUE を返し、ない場合は FALSE を返す。

Int64x32Div32

その他のヘルパー関数

ab を掛け、96 ビットの結果に rnd を足し、c で割る。

構文

LONGLONG WINAPI Int64x32Div32(
  LONGLONG a,
  LONG b,
  LONG c,
  LONG rnd
  );

戻り値

(a * b + rnd)/c 計算、または次の値を返す。

0x7FFFFFFFFFFFFFFF 結果が非常に大きい (正) ため、オーバーフローが発生した。
0x8000000000000000 結果が非常に大きい (負) ため、オーバーフローが発生した。

注意

除算の丸めは、ゼロとする。ゼロの除算は、オーバーフロー状態として扱われる。

IsEqualObject

その他のヘルパー関数

同じオブジェクト上に 2 つのインターフェイスがあるかどうかを確認する。

構文

BOOL WINAPI IsEqualObject(
    IUnknown *pFirst,
    IUnknown *pSecond
);

パラメータ

pFirst
1 つのインターフェイスへのポインタ。
pSecond
もう 1 つのインターフェイスへのポインタ。

戻り値

同じオブジェクト上に両方のインターフェイスがある場合は TRUE を返し、ない場合は FALSE を返す。

llMulDiv

その他のヘルパー関数

ab を掛け、128 ビットの結果に rnd を足し、c で割る。

構文

LONGLONG WINAPI llMulDiv(
  LONGLONG a,
  LONGLONG b,
  LONGLONG c,
  LONGLONG rnd
  );

戻り値

(a * b + rnd)/c 計算、または次の値を返す。

0x7FFFFFFFFFFFFFFF 結果が非常に大きい (正) ため、オーバーフローが発生した。
0x8000000000000000 結果が非常に大きい (負) ため、オーバーフローが発生した。

注意

除算の丸めは、ゼロとする。ゼロの除算は、オーバーフロー状態として扱われる。

WaitDispatchingMessages

その他のヘルパー関数

ウィンドウ メッセージをディスパッチ中に、オブジェクトが通知済になるまで待つ。

構文

DWORD WINAPI WaitDispatchingMessages(
    HANDLE hObject,
    DWORD dwWait,
    HWND hwnd = NULL,
    UINT uMsg = 0
    HANDLE hEvent = NULL;
);

パラメータ

hObject
待機するオブジェクトのハンドル。
dwWait
タイムアウトの間隔 (ミリ秒単位)。
hwnd
ウィンドウへのオプション ハンドル。
uMsg
オプションのウィンドウ メッセージ。ディスパッチするメッセージを指定する。
hEvent
待機するイベントへのオプション ハンドル。

戻り値

WaitForMultipleObjects 関数からの値を返す。

注意

オブジェクトがウィンドウを所有している場合、待機中にウィンドウ メッセージをディスパッチする必要がある。この関数によって、オブジェクトはメッセージのディスパッチ中に、イベント、セマフォ、またはほかの相互排他オブジェクトを待つことができる。