IOCTL_PWM_PIN_SET_POLARITY IOCTL (pwm.h)
ピンまたはチャンネルの信号極性を設定します。 制御コードは、 PWM_PIN_SET_POLARITY_INPUT 構造に基づいて信号の極性を設定します。 信号の極性は、 PWM_POLARITY 列挙で定義されているように、アクティブハイまたはアクティブローです。
[入力バッファー]
PWM_PIN_GET_POLARITY_OUTPUT構造体を含むバッファーへのポインター。 これは PWM コントローラの極性値を表し、アクティブハイまたはアクティブローです。
入力バッファーの長さ
入力バッファーのサイズ (バイト単位)。
出力バッファー
この操作では使用されません。NULL に設定します。
出力バッファーの長さ
この操作では使用されません。を 0 に設定します。
注釈
この操作を実行するには、次のパラメーターを使用して DeviceIoControl 関数を呼び出します。
BOOL WINAPI DeviceIoControl( (HANDLE) hDevice, // handle to device (DWORD) IOCTL_PWM_PIN_SET_POLARITY, // dwIoControlCode(LPDWORD) lpInBuffer, // input buffer (DWORD) nInBufferSize, // size of input buffer (LPDWORD) NULL, // output buffer (DWORD) 0, // size of output buffer (LPDWORD) lpBytesReturned, // number of bytes returned (LPOVERLAPPED) lpOverlapped ); // OVERLAPPED structure
パラメーター | 説明 |
---|---|
hDevice [in] | デバイスへのハンドル。 デバイス ハンドルを取得するには、 CreateFile 関数を呼び出します。 |
dwIoControlCode [in] | 操作の制御コード。 この操作 にはIOCTL_PWM_PIN_SET_POLARITY を使用します。 |
lpInBuffer | PWM_PIN_GET_POLARITY_OUTPUT構造体を含むバッファーへのポインター。 これは PWM コントローラの極性値を表し、アクティブハイまたはアクティブローです。 |
nInBufferSize [in] | 入力バッファーのサイズ (バイト単位)。 |
lpOutBuffer [out] | この操作では使用されません。NULL に設定します。 |
nOutBufferSize [in] | この操作では使用されません。を 0 に設定します。 |
lpBytesReturned [out] |
LPDWORD
出力バッファーに格納されているデータのサイズをバイト単位で受け取る変数へのポインター。 出力バッファーが小さすぎる場合、呼び出しは失敗し、GetLastError はERROR_INSUFFICIENT_BUFFERを返し、lpBytesReturned は 0 です。 lpOverlapped が NULL の場合、lpBytesReturned を NULL にすることはできません。 操作で出力データが返されず、lpOutBuffer が NULL の場合でも、DeviceIoControl は lpBytesReturned を使用します。 このような操作の後、lpBytesReturned の値は意味がありません。 lpOverlapped が NULL でない場合、lpBytesReturned には NULL を指定できます。 このパラメーターが NULL ではなく、操作がデータを返す場合、重複する操作が完了するまで lpBytesReturned は意味がありません。 返されたバイト数を取得するには、GetOverlappedResult を呼び出します。 hDevice パラメーターが I/O 入力候補ポートに関連付けられている場合は、GetQueuedCompletionStatus を呼び出して返されるバイト数を取得できます。 |
lpOverlapped [in] |
LPOVERLAPPED
OVERLAPPED 構造体へのポインター。 FILE_FLAG_OVERLAPPED を指定せずに hDevice を開いた場合、lpOverlapped は無視されます。 hDevice が FILE_FLAG_OVERLAPPED フラグで開かれた場合、操作は重複 (非同期) 操作として実行されます。 この場合、lpOverlapped は、イベント オブジェクトへのハンドルを含む有効な OVERLAPPED 構造体を指す必要があります。 それ以外の場合、関数は予期しない方法で失敗します。 重複する操作の場合、DeviceIoControl は直ちに戻り、操作が完了するとイベント オブジェクトが通知されます。 それ以外の場合、関数は操作が完了するかエラーが発生するまで戻りません。 |
極性の変更は、ピンが停止している場合にのみ許可されます。 IOCTL_PWM_PIN_IS_STARTED制御コードを使用して、ピンが停止されているかどうかを確認できます。
ピンの起動時に極性を変更すると、一部のパルス幅変調(PWM)コントローラでグリッチが発生する可能性があります。 極性を変更する場合は、最初にピンを停止し、極性を変更してから、ピンを起動します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 10 [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2016 [デスクトップ アプリのみ] |
Header | pwm.h (Pwm.h を含む) |