Pdh (JNA API)

com.sun.jna.platform.win32

## Interface Pdh

- All Superinterfaces:
    AltCallingConvention, Library, StdCall, StdCallLibrary

      public interface Pdh
      extends StdCallLibrary

  Windows Performance Data Helper (a.k.a. PDH).
  Author:
    Lyor Goldstein
  See Also:
    Performance Counters

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Interface and Description
    --- | ---
    `static class` | `Pdh.PDH_COUNTER_PATH_ELEMENTS` Components of a counter path
    `static class` | `Pdh.PDH_RAW_COUNTER` The data as it was collected from the counter provider.
    `static class` | `Pdh.PDH_TIME_INFO` Information on time intervals as applied to the sampling of performance data.

    - ### Nested classes/interfaces inherited from interface com.sun.jna.win32.StdCallLibrary

      `StdCallLibrary.StdCallCallback`

    - ### Nested classes/interfaces inherited from interface com.sun.jna.Library

      `Library.Handler`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static Pdh` | `INSTANCE`
    `static int` | `PDH_CVERSION_WIN40`
    `static int` | `PDH_CVERSION_WIN50`
    `static int` | `PDH_FMT_1000`
    `static int` | `PDH_FMT_ANSI`
    `static int` | `PDH_FMT_DOUBLE`
    `static int` | `PDH_FMT_LARGE`
    `static int` | `PDH_FMT_LONG`
    `static int` | `PDH_FMT_NOCAP100`
    `static int` | `PDH_FMT_NODATA`
    `static int` | `PDH_FMT_NOSCALE`
    `static int` | `PDH_FMT_RAW`
    `static int` | `PDH_FMT_UNICODE`
    `static int` | `PDH_MAX_COUNTER_NAME` Maximum counter name length.
    `static int` | `PDH_MAX_COUNTER_PATH` Maximum full counter path length.
    `static int` | `PDH_MAX_DATASOURCE_PATH` Maximum full counter log name length.
    `static int` | `PDH_MAX_INSTANCE_NAME` Maximum counter instance name length.
    `static int` | `PDH_PATH_WBEM_INPUT`
    `static int` | `PDH_PATH_WBEM_RESULT`
    `static int` | `PDH_VERSION`
    `static int` | `PERF_DETAIL_COSTLY`
    `static int` | `PERF_DETAIL_STANDARD`

    - ### Fields inherited from interface com.sun.jna.win32.StdCallLibrary

      `FUNCTION_MAPPER, STDCALL_CONVENTION`

    - ### Fields inherited from interface com.sun.jna.Library

      `OPTION_ALLOW_OBJECTS, OPTION_CALLING_CONVENTION, OPTION_CLASSLOADER, OPTION_FUNCTION_MAPPER, OPTION_INVOCATION_MAPPER, OPTION_OPEN_FLAGS, OPTION_STRING_ENCODING, OPTION_STRUCTURE_ALIGNMENT, OPTION_TYPE_MAPPER`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `PdhAddCounter(WinNT.HANDLE hQuery, java.lang.String szFullCounterPath, BaseTSD.DWORD_PTR dwUserData, WinNT.HANDLEByReference phCounter)` Adds the specified counter to the query.
    `int` | `PdhAddEnglishCounter(WinNT.HANDLE hQuery, java.lang.String szFullCounterPath, BaseTSD.DWORD_PTR dwUserData, WinNT.HANDLEByReference phCounter)`
    `int` | `PdhCloseQuery(WinNT.HANDLE hQuery)` Closes all counters contained in the specified query, closes all handles related to the query, and frees all memory associated with the query.
    `int` | `PdhCollectQueryData(WinNT.HANDLE hQuery)` Collects the current raw data value for all counters in the specified query and updates the status code of each counter.
    `int` | `PdhCollectQueryDataEx(WinNT.HANDLE hQuery, int dwIntervalTime, WinNT.HANDLE hNewDataEvent)` Uses a separate thread to collect the current raw data value for all counters in the specified query.
    `int` | `PdhCollectQueryDataWithTime(WinNT.HANDLE hQuery, WinDef.LONGLONGByReference pllTimeStamp)` Collects the current raw data value for all counters in the specified query and updates the status code of each counter.
    `int` | `PdhConnectMachine(java.lang.String szMachineName)` Connects to the specified computer.
    `int` | `PdhGetDllVersion(WinDef.DWORDByReference lpdwVersion)` Returns the version of the currently installed Pdh.dll file.
    `int` | `PdhGetRawCounterValue(WinNT.HANDLE hCounter, WinDef.DWORDByReference lpdwType, Pdh.PDH_RAW_COUNTER pValue)`
    `int` | `PdhMakeCounterPath(Pdh.PDH_COUNTER_PATH_ELEMENTS pCounterPathElements, char[] szFullPathBuffer, WinDef.DWORDByReference pcchBufferSize, int dwFlags)` Creates a full counter path using the members specified in the `Pdh.PDH_COUNTER_PATH_ELEMENTS` structure.
    `int` | `PdhOpenQuery(java.lang.String szDataSource, BaseTSD.DWORD_PTR dwUserData, WinNT.HANDLEByReference phQuery)` Creates a new query that is used to manage the collection of performance data.
    `int` | `PdhRemoveCounter(WinNT.HANDLE hCounter)` Removes a counter from a query.
    `int` | `PdhSetQueryTimeRange(WinNT.HANDLE hQuery, Pdh.PDH_TIME_INFO pInfo)`
    `int` | `PdhValidatePath(java.lang.String szFullCounterPath)` Validates that the counter is present on the computer specified in the counter path.

- - ### Field Detail

    - #### INSTANCE

          static final Pdh INSTANCE

    - #### PDH_MAX_COUNTER_NAME

          static final int PDH_MAX_COUNTER_NAME

      Maximum counter name length.
      See Also:
        Constant Field Values

    - #### PDH_MAX_INSTANCE_NAME

          static final int PDH_MAX_INSTANCE_NAME

      Maximum counter instance name length.
      See Also:
        Constant Field Values

    - #### PDH_MAX_COUNTER_PATH

          static final int PDH_MAX_COUNTER_PATH

      Maximum full counter path length.
      See Also:
        Constant Field Values

    - #### PDH_MAX_DATASOURCE_PATH

          static final int PDH_MAX_DATASOURCE_PATH

      Maximum full counter log name length.
      See Also:
        Constant Field Values

    - #### PDH_CVERSION_WIN40

          static final int PDH_CVERSION_WIN40

      See Also:
        Constant Field Values

    - #### PDH_CVERSION_WIN50

          static final int PDH_CVERSION_WIN50

      See Also:
        Constant Field Values

    - #### PDH_VERSION

          static final int PDH_VERSION

      See Also:
        Constant Field Values

    - #### PDH_PATH_WBEM_RESULT

          static final int PDH_PATH_WBEM_RESULT

      See Also:
        Constant Field Values

    - #### PDH_PATH_WBEM_INPUT

          static final int PDH_PATH_WBEM_INPUT

      See Also:
        Constant Field Values

    - #### PDH_FMT_RAW

          static final int PDH_FMT_RAW

      See Also:
        Constant Field Values

    - #### PDH_FMT_ANSI

          static final int PDH_FMT_ANSI

      See Also:
        Constant Field Values

    - #### PDH_FMT_UNICODE

          static final int PDH_FMT_UNICODE

      See Also:
        Constant Field Values

    - #### PDH_FMT_LONG

          static final int PDH_FMT_LONG

      See Also:
        Constant Field Values

    - #### PDH_FMT_DOUBLE

          static final int PDH_FMT_DOUBLE

      See Also:
        Constant Field Values

    - #### PDH_FMT_LARGE

          static final int PDH_FMT_LARGE

      See Also:
        Constant Field Values

    - #### PDH_FMT_NOSCALE

          static final int PDH_FMT_NOSCALE

      See Also:
        Constant Field Values

    - #### PDH_FMT_1000

          static final int PDH_FMT_1000

      See Also:
        Constant Field Values

    - #### PDH_FMT_NODATA

          static final int PDH_FMT_NODATA

      See Also:
        Constant Field Values

    - #### PDH_FMT_NOCAP100

          static final int PDH_FMT_NOCAP100

      See Also:
        Constant Field Values

    - #### PERF_DETAIL_COSTLY

          static final int PERF_DETAIL_COSTLY

      See Also:
        Constant Field Values

    - #### PERF_DETAIL_STANDARD

          static final int PERF_DETAIL_STANDARD

      See Also:
        Constant Field Values

  - ### Method Detail

    - #### PdhConnectMachine

          int PdhConnectMachine(java.lang.String szMachineName)

      Connects to the specified computer.
      Parameters:
        `szMachineName` - The name of the computer to connect to. If `null`, PDH connects to the local computer.
      Returns:
        ERROR_SUCCESS if successful
      See Also:
        PdhConnectMachine

    - #### PdhGetDllVersion

          int PdhGetDllVersion(WinDef.DWORDByReference lpdwVersion)

      Returns the version of the currently installed Pdh.dll file.
      Parameters:
        `lpdwVersion` - A variable that receives the version of Pdh.dll.
      Returns:
        ERROR_SUCCESS if successful
      See Also:
        PdhGetDllVersion

    - #### PdhOpenQuery

          int PdhOpenQuery(java.lang.String szDataSource,
                         BaseTSD.DWORD_PTR dwUserData,
                         WinNT.HANDLEByReference phQuery)

      Creates a new query that is used to manage the collection of performance data.
      Parameters:
        `szDataSource` - The name of the log file from which to retrieve performance data. If `null`, performance data is collected from a real-time data source.
        `dwUserData` - User-defined value to associate with this query.
        `phQuery` - (Out) Handle to the query. You use this handle in subsequent calls.
      Returns:
        ERROR_SUCCESS if successful
      See Also:
        PdhOpenQuery

    - #### PdhCloseQuery

          int PdhCloseQuery(WinNT.HANDLE hQuery)

      Closes all counters contained in the specified query, closes all handles related to the query, and frees all memory associated with the query.
      Parameters:
        `hQuery` - Handle to the query to close.
      Returns:
        ERROR_SUCCESS if successful
      See Also:
        PdhCloseQuery

    - #### PdhMakeCounterPath

          int PdhMakeCounterPath(Pdh.PDH_COUNTER_PATH_ELEMENTS pCounterPathElements,
                               char[] szFullPathBuffer,
                               WinDef.DWORDByReference pcchBufferSize,
                               int dwFlags)

      Creates a full counter path using the members specified in the `Pdh.PDH_COUNTER_PATH_ELEMENTS` structure.
      Parameters:
        `pCounterPathElements` - Structure that contains the members used to make up the path
        `szFullPathBuffer` - Caller-allocated buffer that receives a null-terminated counter path. The maximum length of a counter path is PDH_MAX_COUNTER_PATH. Set to `null` if `pcchBufferSize` is zero.
        `pcchBufferSize` - Size of the `szFullPathBuffer` buffer. If zero on input, the function returns PDH_MORE_DATA and sets this parameter to the required buffer size. If the buffer is larger than the required size, the function sets this parameter to the actual size of the buffer that was used.
        `dwFlags` - Format of the input and output counter values.
      Returns:
        ERROR_SUCCESS (or PDH_MORE_DATA)
      See Also:
        PdhMakeCounterPath

    - #### PdhAddCounter

          int PdhAddCounter(WinNT.HANDLE hQuery,
                          java.lang.String szFullCounterPath,
                          BaseTSD.DWORD_PTR dwUserData,
                          WinNT.HANDLEByReference phCounter)

      Adds the specified counter to the query.
      Parameters:
        `hQuery` - Handle to the query to which you want to add the counter.
        `szFullCounterPath` - String that contains the counter path. The maximum length of a counter path is `PDH_MAX_COUNTER_PATH`.
        `dwUserData` - User-defined value.
        `phCounter` - (Out) Handle to the counter that was added to the query.
      Returns:
        ERROR_SUCCESS if successful
      See Also:
        PdhAddCounter, Specifying a Counter Path

    - #### PdhAddEnglishCounter

          int PdhAddEnglishCounter(WinNT.HANDLE hQuery,
                                 java.lang.String szFullCounterPath,
                                 BaseTSD.DWORD_PTR dwUserData,
                                 WinNT.HANDLEByReference phCounter)

    - #### PdhRemoveCounter

          int PdhRemoveCounter(WinNT.HANDLE hCounter)

      Removes a counter from a query.
      Parameters:
        `hCounter` - Handle of the counter to remove from its query.
      Returns:
        ERROR_SUCCESS if successful
      See Also:
        PdhRemoveCounter

    - #### PdhGetRawCounterValue

          int PdhGetRawCounterValue(WinNT.HANDLE hCounter,
                                  WinDef.DWORDByReference lpdwType,
                                  Pdh.PDH_RAW_COUNTER pValue)

      Parameters:
        `hCounter` - Handle of the counter from which to retrieve the current raw value.
        `lpdwType` - Receives the counter type - this parameter is optional
        `pValue` - The `Pdh.PDH_RAW_COUNTER` structure to receive the data
      Returns:
        ERROR_SUCCESS if successful
      See Also:
        PdhGetRawCounterValue

    - #### PdhValidatePath

          int PdhValidatePath(java.lang.String szFullCounterPath)

      Validates that the counter is present on the computer specified in the counter path.
      Parameters:
        `szFullCounterPath` - The counter path to validate
      Returns:
        ERROR_SUCCESS if successful
      See Also:
        PdhValidatePath

    - #### PdhCollectQueryData

          int PdhCollectQueryData(WinNT.HANDLE hQuery)

      Collects the current raw data value for all counters in the specified query and updates the status code of each counter.
      Parameters:
        `hQuery` - Handle to the query
      Returns:
        ERROR_SUCCESS if successful
      See Also:
        PdhCollectQueryData

    - #### PdhCollectQueryDataEx

          int PdhCollectQueryDataEx(WinNT.HANDLE hQuery,
                                  int dwIntervalTime,
                                  WinNT.HANDLE hNewDataEvent)

      Uses a separate thread to collect the current raw data value for all counters in the specified query. The function then signals the application-defined event and waits the specified time interval before returning.
      Parameters:
        `hQuery` - Handle to the query
        `dwIntervalTime` - Time interval to wait, in seconds.
        `hNewDataEvent` - Handle to the event that you want PDH to signal after the time interval expires. To create an event object, call the `Kernel32.CreateEvent(com.sun.jna.platform.win32.WinBase.SECURITY_ATTRIBUTES, boolean, boolean, String)` function
      Returns:
        ERROR_SUCCESS if successful
      See Also:
        PdhCollectQueryDataEx

    - #### PdhCollectQueryDataWithTime

          int PdhCollectQueryDataWithTime(WinNT.HANDLE hQuery,
                                        WinDef.LONGLONGByReference pllTimeStamp)

      Collects the current raw data value for all counters in the specified query and updates the status code of each counter.
      Parameters:
        `hQuery` - Handle to the query
        `pllTimeStamp` - Time stamp when the first counter value in the query was retrieved. The time is specified as `WinBase.FILETIME`.
      Returns:
        ERROR_SUCCESS if successful
      See Also:
        PdhCollectQueryDataWithTime

    - #### PdhSetQueryTimeRange

          int PdhSetQueryTimeRange(WinNT.HANDLE hQuery,
                                 Pdh.PDH_TIME_INFO pInfo)

      Parameters:
        `hQuery` - Handle to the query.
        `pInfo` - A `Pdh.PDH_TIME_INFO` structure that specifies the time range.
      Returns:
        ERROR_SUCCESS if successful
      See Also:
        PdhSetQueryTimeRange

Copyright © 2007-2016 Timothy Wall. All Rights Reserved.