Win32 API 日本語リファレンス
ホームSystem.DeploymentServices › WdsCliGetImageParameter

WdsCliGetImageParameter

関数
WDSイメージの指定種別のパラメーター値を取得する。
DLLWDSCLIENTAPI.dll呼出規約winapi

シグネチャ

// WDSCLIENTAPI.dll
#include <windows.h>

HRESULT WdsCliGetImageParameter(
    HANDLE hIfh,
    WDS_CLI_IMAGE_PARAM_TYPE ParamType,
    void* pResponse,
    DWORD uResponseLen
);

パラメーター

名前方向
hIfhHANDLEin
ParamTypeWDS_CLI_IMAGE_PARAM_TYPEin
pResponsevoid*out
uResponseLenDWORDin

戻り値の型: HRESULT

各言語での呼び出し定義

// WDSCLIENTAPI.dll
#include <windows.h>

HRESULT WdsCliGetImageParameter(
    HANDLE hIfh,
    WDS_CLI_IMAGE_PARAM_TYPE ParamType,
    void* pResponse,
    DWORD uResponseLen
);
[DllImport("WDSCLIENTAPI.dll", ExactSpelling = true)]
static extern int WdsCliGetImageParameter(
    IntPtr hIfh,   // HANDLE
    int ParamType,   // WDS_CLI_IMAGE_PARAM_TYPE
    IntPtr pResponse,   // void* out
    uint uResponseLen   // DWORD
);
<DllImport("WDSCLIENTAPI.dll", ExactSpelling:=True)>
Public Shared Function WdsCliGetImageParameter(
    hIfh As IntPtr,   ' HANDLE
    ParamType As Integer,   ' WDS_CLI_IMAGE_PARAM_TYPE
    pResponse As IntPtr,   ' void* out
    uResponseLen As UInteger   ' DWORD
) As Integer
End Function
' hIfh : HANDLE
' ParamType : WDS_CLI_IMAGE_PARAM_TYPE
' pResponse : void* out
' uResponseLen : DWORD
Declare PtrSafe Function WdsCliGetImageParameter Lib "wdsclientapi" ( _
    ByVal hIfh As LongPtr, _
    ByVal ParamType As Long, _
    ByVal pResponse As LongPtr, _
    ByVal uResponseLen As Long) As Long
' VBA7前提(PtrSafe)。32bit Office では LongPtr→Long。Integer=16bit / Long=32bit / LongLong=64bit。
import ctypes
from ctypes import wintypes

WdsCliGetImageParameter = ctypes.windll.wdsclientapi.WdsCliGetImageParameter
WdsCliGetImageParameter.restype = ctypes.c_int
WdsCliGetImageParameter.argtypes = [
    wintypes.HANDLE,  # hIfh : HANDLE
    ctypes.c_int,  # ParamType : WDS_CLI_IMAGE_PARAM_TYPE
    ctypes.POINTER(None),  # pResponse : void* out
    wintypes.DWORD,  # uResponseLen : DWORD
]
require 'fiddle'
require 'fiddle/import'

lib = Fiddle.dlopen('WDSCLIENTAPI.dll')
WdsCliGetImageParameter = Fiddle::Function.new(
  lib['WdsCliGetImageParameter'],
  [
    Fiddle::TYPE_VOIDP,  # hIfh : HANDLE
    Fiddle::TYPE_INT,  # ParamType : WDS_CLI_IMAGE_PARAM_TYPE
    Fiddle::TYPE_VOIDP,  # pResponse : void* out
    -Fiddle::TYPE_INT,  # uResponseLen : DWORD
  ],
  Fiddle::TYPE_INT)
#[link(name = "wdsclientapi")]
extern "system" {
    fn WdsCliGetImageParameter(
        hIfh: *mut core::ffi::c_void,  // HANDLE
        ParamType: i32,  // WDS_CLI_IMAGE_PARAM_TYPE
        pResponse: *mut (),  // void* out
        uResponseLen: u32  // DWORD
    ) -> i32;
}
// crates: windows-sys provides ready-made bindings for this API.
$sig = @"
[DllImport("WDSCLIENTAPI.dll")]
public static extern int WdsCliGetImageParameter(IntPtr hIfh, int ParamType, IntPtr pResponse, uint uResponseLen);
"@
$api = Add-Type -MemberDefinition $sig -Name 'WDSCLIENTAPI_WdsCliGetImageParameter' -Namespace Win32 -PassThru
# $api::WdsCliGetImageParameter(hIfh, ParamType, pResponse, uResponseLen)
#uselib "WDSCLIENTAPI.dll"
#func global WdsCliGetImageParameter "WdsCliGetImageParameter" sptr, sptr, sptr, sptr
; WdsCliGetImageParameter hIfh, ParamType, pResponse, uResponseLen   ; 戻り値は stat
; hIfh : HANDLE -> "sptr"
; ParamType : WDS_CLI_IMAGE_PARAM_TYPE -> "sptr"
; pResponse : void* out -> "sptr"
; uResponseLen : DWORD -> "sptr"
; ※HSP3.7は #func のため戻り値はシステム変数 stat に格納されます。
#uselib "WDSCLIENTAPI.dll"
#cfunc global WdsCliGetImageParameter "WdsCliGetImageParameter" sptr, int, sptr, int
; res = WdsCliGetImageParameter(hIfh, ParamType, pResponse, uResponseLen)
; hIfh : HANDLE -> "sptr"
; ParamType : WDS_CLI_IMAGE_PARAM_TYPE -> "int"
; pResponse : void* out -> "sptr"
; uResponseLen : DWORD -> "int"
; HRESULT WdsCliGetImageParameter(HANDLE hIfh, WDS_CLI_IMAGE_PARAM_TYPE ParamType, void* pResponse, DWORD uResponseLen)
#uselib "WDSCLIENTAPI.dll"
#cfunc global WdsCliGetImageParameter "WdsCliGetImageParameter" intptr, int, intptr, int
; res = WdsCliGetImageParameter(hIfh, ParamType, pResponse, uResponseLen)
; hIfh : HANDLE -> "intptr"
; ParamType : WDS_CLI_IMAGE_PARAM_TYPE -> "int"
; pResponse : void* out -> "intptr"
; uResponseLen : DWORD -> "int"
import (
	"golang.org/x/sys/windows"
	"unsafe"
)

var (
	wdsclientapi = windows.NewLazySystemDLL("WDSCLIENTAPI.dll")
	procWdsCliGetImageParameter = wdsclientapi.NewProc("WdsCliGetImageParameter")
)

// hIfh (HANDLE), ParamType (WDS_CLI_IMAGE_PARAM_TYPE), pResponse (void* out), uResponseLen (DWORD)
r1, _, err := procWdsCliGetImageParameter.Call(
	uintptr(hIfh),
	uintptr(ParamType),
	uintptr(pResponse),
	uintptr(uResponseLen),
)
_ = err  // syscall.Errno (valid when the call sets last-error)
_ = r1   // HRESULT
function WdsCliGetImageParameter(
  hIfh: THandle;   // HANDLE
  ParamType: Integer;   // WDS_CLI_IMAGE_PARAM_TYPE
  pResponse: Pointer;   // void* out
  uResponseLen: DWORD   // DWORD
): Integer; stdcall;
  external 'WDSCLIENTAPI.dll' name 'WdsCliGetImageParameter';
result := DllCall("WDSCLIENTAPI\WdsCliGetImageParameter"
    , "Ptr", hIfh   ; HANDLE
    , "Int", ParamType   ; WDS_CLI_IMAGE_PARAM_TYPE
    , "Ptr", pResponse   ; void* out
    , "UInt", uResponseLen   ; DWORD
    , "Int")   ; return: HRESULT
●WdsCliGetImageParameter(hIfh, ParamType, pResponse, uResponseLen) = DLL("WDSCLIENTAPI.dll", "int WdsCliGetImageParameter(void*, int, void*, dword)")
# 呼び出し: WdsCliGetImageParameter(hIfh, ParamType, pResponse, uResponseLen)
# hIfh : HANDLE -> "void*"
# ParamType : WDS_CLI_IMAGE_PARAM_TYPE -> "int"
# pResponse : void* out -> "void*"
# uResponseLen : DWORD -> "dword"
# なでしこ1は32bit・ANSI(Shift_JIS)。文字列=char*(ANSI)、ポインタ/ハンドル=void*(4byte)。