add PdhValidatePath wrapper
This commit is contained in:
		
							parent
							
								
									98fd0fdbcc
								
							
						
					
					
						commit
						c2296865e2
					
				@ -70,6 +70,21 @@ static char *get_error_message(PDH_STATUS status) {
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					JNIEXPORT jlong SIGAR_JNI(win32_Pdh_validate)
 | 
				
			||||||
 | 
					(JNIEnv *env, jclass cur, jstring jpath)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    PDH_STATUS status;
 | 
				
			||||||
 | 
					    jboolean is_copy;
 | 
				
			||||||
 | 
					    LPCTSTR path = JENV->GetStringChars(env, jpath, &is_copy);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    status = PdhValidatePath(path);
 | 
				
			||||||
 | 
					    if (is_copy) {
 | 
				
			||||||
 | 
					        JENV->ReleaseStringChars(env, jpath, path);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    return status;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
JNIEXPORT void SIGAR_JNI(win32_Pdh_pdhConnectMachine)
 | 
					JNIEXPORT void SIGAR_JNI(win32_Pdh_pdhConnectMachine)
 | 
				
			||||||
(JNIEnv *env, jobject cur, jstring jhost)
 | 
					(JNIEnv *env, jobject cur, jstring jhost)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
				
			|||||||
@ -243,6 +243,8 @@ public class Pdh extends Win32 {
 | 
				
			|||||||
        return pdhGetObjects();
 | 
					        return pdhGetObjects();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public static final native long validate(String path);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private static final native void pdhConnectMachine(String host)
 | 
					    private static final native void pdhConnectMachine(String host)
 | 
				
			||||||
        throws Win32Exception;
 | 
					        throws Win32Exception;
 | 
				
			||||||
    private static final native long pdhOpenQuery() throws Win32Exception;
 | 
					    private static final native long pdhOpenQuery() throws Win32Exception;
 | 
				
			||||||
 | 
				
			|||||||
@ -58,19 +58,12 @@ public class TestPdh extends SigarTestCase {
 | 
				
			|||||||
            if (!trans.equals(path)) {
 | 
					            if (!trans.equals(path)) {
 | 
				
			||||||
                traceln(path + "-->" + trans);
 | 
					                traceln(path + "-->" + trans);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					            traceln(path + " validate: " + Pdh.validate(path));
 | 
				
			||||||
            getValue(path);
 | 
					            getValue(path);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        /* XXX hangs for a while on my XP box
 | 
					
 | 
				
			||||||
        String bogusKey = "\\Does Not\\Exist";
 | 
					        String bogusKey = "\\Does Not\\Exist";
 | 
				
			||||||
        try {
 | 
					        assertTrue(Pdh.validate(bogusKey) != 0);
 | 
				
			||||||
            new Pdh().getRawValue(bogusKey);
 | 
					 | 
				
			||||||
            assertTrue(false);
 | 
					 | 
				
			||||||
        } catch (Win32Exception e) {
 | 
					 | 
				
			||||||
            assertTrue(true);
 | 
					 | 
				
			||||||
            traceln(bogusKey + "=" + e.getMessage());
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        */
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public void testCounterMap() throws Exception {
 | 
					    public void testCounterMap() throws Exception {
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user